假設您有2個套接字(每個套接字將被其他TCP對等端監聽),每個套接字駐留在同一個進程上,這些套接字如何綁定,這意味着彼此的輸入流將綁定到其他輸出流。套接字將持續傳輸數據,不會等待。通常螺紋可以解決這個問題,但是,而不是創建螺紋有更有效的方式管道插座?TCP套接字管道
Q
TCP套接字管道
1
A
回答
1
如果您需要將套接字的兩端連接到相同的進程,請改用pipe()
函數。該函數返回兩個文件描述符,一個用於寫入,另一個用於讀取。爲此,實際上不需要涉及TCP。
更新:根據您對用例的說明,不,沒有辦法告訴操作系統將兩個不同套接字的末端連接在一起。您必須編寫代碼才能從一個套接字讀取數據,並將相同的數據寫入另一個套接字。根據您的流程體系結構,您可能需要或不需要額外的線程來完成這項工作。例如,如果您的應用程序基於select()
循環,則不需要創建另一個線程。
0
您可以在進程中避免使用事件隊列的線程。 WP Message queue文章假設您希望進程間消息傳遞,但是如果您使用套接字,那麼您正在通過同一進程傳遞進程間消息。
相關問題
- 1. Java TCP套接字
- 2. TCP套接字 - InvalidOperationException
- 3. 從TCP套接字
- 4. 套接字和TCP套接字
- 5. TCP套接字連接
- 6. TCP套接字連接
- 7. TCP套接字和連接
- 8. C Webvserver - STDIN,套接字和CGI管道
- 9. 套接字類比:一個管道還是兩個管道?
- 10. 通過TCP套接字的Android發送/接收字節[]通過TCP套接字
- 11. 通過TCP套接字進行文件傳輸C++中的管道
- 12. Ascii碼的TCP套接字
- 13. TCP套接字和Node.js的
- 14. Linux TCP套接字崩潰
- 15. TCP套接字在Android 4.0.3
- 16. Netty WebSockets和TCP套接字
- 17. Android TCP套接字超時
- 18. TCP套接字測試
- 19. PHP插座/ TCP套接字
- 20. Silverlight 4和TCP套接字
- 21. Node.js TCP套接字會話
- 22. Windows Phone 8.1 TCP套接字
- 23. AS3 TCP套接字丟包
- 24. Java TCP套接字塊readLine
- 25. 從TCP套接字讀取
- 26. wlan上的TCP套接字
- 27. C++ Linux TCP套接字fd
- 28. TCP套接字編程
- 29. Iphone上的TCP套接字
- 30. TCP套接字通信
事實上,這些套接字將被客戶端收聽,所以需要套接字 – whoi 2009-12-11 09:21:21
看來我誤解了你的用例。我會更新我的答案。 – 2009-12-11 09:23:43
你是說socket select()函數嗎,你能澄清一下嗎? – whoi 2009-12-11 09:32:37