我試圖通過一個已建立的連接從進程A的Unix域套接字文件描述符通過另一個Unix域套接字連接處理B,沒有運氣 雖然TCP套接字傳遞沒有問題。 有沒有理由或我做錯了什麼? 兩者都通過解密消息 Thanx我可以通過另一個UDS文件描述符通過c或C++中的另一個UDS連接
回答
套接字文件描述符(就像常規文件描述符一樣)在正確創建它們的進程外部絕對沒有任何意義。當你發送一個fd
到其他進程時,你只是發送一堆字節 - 沒有什麼比這更多的了。
的唯一方法,你可以移動工作fd
從一個過程到另一個是fork()
包含fd
傳遞的過程。
如果你想要一些進程連接到一個特定的Unix套接字,你應該傳遞一個unix套接字文件系統入口名稱到該進程。接收過程可以正確地創建套接字並在之後建立連接。
我不知道你爲什麼沒有通過tcp socket的問題fd
。也許如果你發佈你的代碼的相關部分,原因將被揭示。
'fork()'不是將工作fd從一個進程移到另一個進程的唯一方法。 'SCM_RIGHTS' [輔助消息](http://linux.die.net/man/3/cmsg)允許通過unix套接字發送文件描述符到另一個進程。 –
@SamMiller好點,我不知道。 –
我用SCM_RIGHTS輔助消息來傳遞tcp連接,當我嘗試傳遞一個UDS連接時,我失敗了。所以,有沒有理由或我做錯了什麼 – AC78
- 1. 您可以通過node.js中的另一個unix域套接字發送unix域文件描述符嗎?
- 2. SSH通過另一個SSH連接
- 3. 通過另一個
- 4. 通過中的另一個
- 5. 如何通過int描述符找出文件名? (或「?可我..」)
- 6. 通過一次操作寫入兩個文件描述符
- 7. 通過一個全局變量在一個C文件到另一個
- 8. SSLSocket通過另一個SSLSocket
- 9. AJAXing通過另一個AJAX
- 10. 通過點擊另一個
- 11. 通過SQL排序左連接另一個左連接
- 12. 通過連接另一個字符串覆蓋一個字符串
- 13. 爲什麼我的UDS服務器不能接受連接?
- 14. 我可以通過另一個HTML導入文件導入HTML文件嗎?
- 15. 我可以有一個Maven程序集描述符依賴於另一個嗎?
- 16. 通過過濾另一個NSDictionary的
- 17. 通過文件描述符 - Execve(typecast)
- 18. 我可以通過0mq(zeromq)ipc套接字傳遞文件描述符嗎?
- 19. 通過JPA中的另一個實體更改連接表
- 20. 對同一個文件的多個文件描述符,C
- 21. 通過另一加入一個表連接使用withRelated
- 22. 我可以通過C++中的值返回一個數組嗎?
- 23. C# - 發送一個文件通過HTTP
- 24. 我可以通過Javascript資源加載另一個嗎?
- 25. 通過asp.net和c#連接到另一個網絡上的SQL Server數據庫#
- 26. 角通過另一個組件
- 27. 如何從Maven Assembly插件的另一個描述符中調用描述符?
- 28. 通過過濾另一個工作表
- 29. WebService無法通過IIS與另一個WS通信,但它可以通過VisualStudio
- 30. 在Windows中通過C++更改另一個程序的變量
請張貼一些代碼,顯示您觀察到的問題。 –
我想了解是否有一個已知的傳遞fd代表一個已打開的UDS連接的限制。 – AC78