我在我的學習專案中使用 C 和 Winsock2。
我有一些問題,希望有人能證實。
假設我有 2 個不相關的行程,行程 A 和行程 B(不使用CreateProcess)。無關我的意思是它不是父母和孩子。
1)
如果它們不相關,是否可以在 Windows 中接受行程 A 中的套接字并將其傳遞給行程 B?
2)
我想我必須使用WSADuplicateSocket?但這僅適用于相關流程?
我希望有人可以解釋并確認以上內容。
uj5u.com熱心網友回復:
如果它們不相關,是否可以在 Windows 中接受行程 A 中的套接字并將其傳遞給行程 B?
是的,通過WSADuplicateSocket():
該
WSADuplicateSocket函式用于啟用行程之間的套接字共享。源行程呼叫WSADuplicateSocket以獲取特殊WSAPROTOCOL_INFO結構。它使用一些行程間通信 (IPC) 機制將此結構的內容傳遞給目標行程,目標行程又在呼叫中使用它WSASocket來獲取復制套接字的描述符。特殊WSAPROTOCOL_INFO結構只能被目標行程使用一次。
我想我必須使用 WSADuplicateSocket?
是的。
但這僅適用于相關流程?
不。只要行程 A 知道行程 B 的行程 ID,它就可以在任何 2 個行程之間正常作業,因為這是WSADuplicateSocket().
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/383676.html
上一篇:如何使用JPQL進行布爾切換
