【发布时间】:2013-09-11 20:51:37
【问题描述】:
我一直在尝试掌握句柄继承的概念,与 unix 相比,Windows 上共享应用程序内存。
由于 windows 不提供 fork() 或任何类似的东西,我一直在阅读 createprocess 和句柄。
我仍然无法理解新进程如何读取从他们的父母那里传递给他们的句柄。我查看了 msdn 文档,似乎 ReadFile 是这里的答案,但不知道如何阅读它。
我想要做的是客户端/服务器,服务器通过套接字传递。我正在使用 Winsock1,所以 WSAduplicate 不是一个选项。我读到套接字不能被传递,但它们可以被复制。 (http://tangentsoft.net/wskfaq/articles/passing-sockets.html)
长话短说,假设我将句柄值(例如 0x0000070)作为命令行参数传递,我如何将其转换为有效的句柄(即 Socket)。
干杯,
**更新 我知道这种方法并不理想,线程是解决这个问题的更好方法。但是我们明确要求创建子进程而不是线程。
【问题讨论】:
标签: c windows sockets createprocess handles