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