【发布时间】:2022-01-18 22:09:38
【问题描述】:
我在我的学习项目中使用 C 和 Winsock2。
我有一些问题希望有人能确认。
假设我有 2 个不相关的进程,进程 A 和进程 B(不使用 CreateProcess)。所谓不相关,我的意思是它不是父母和孩子。
1)
如果它们不相关,Windows 中是否可以接受进程 A 中的套接字并将其传递给进程 B?
2)
我想我必须使用WSADuplicateSocket?但这只适用于相关流程?
希望有人能解释并确认上述内容..
【问题讨论】:
-
当你说“通过那个”时,“那个”是什么?
-
传递套接字句柄:)
-
Unix 系统支持sending sockets and other file descriptors via
AF_UNIXsockets。 Windows now supportsAF_UNIXsockets,但我不知道这是否包括在进程之间发送套接字。 -
我正在重新审视我的一个老问题。我记得 WSADuplicateSocket 仅在进程 A 创建进程 B(如分叉)时才有效..
-
所以你是说如果我运行进程 A 和后来的进程 B - 我应该能够在进程 A WSADuplicateSocket 中使用,并使用命名管道将套接字发送到进程 B,即使它们不相关?我只是想确认是否需要 DuplicateHandle..