我目前正在使用線程來異步處理連接和發送調用。這一切工作正常,但現在我想使接收異步太。如何在等待數據時不暫停整個隊列的情況下接收數據?我現在能想到的唯一解決方案是第二個線程。如何處理C++中的異步套接字接收?
3
A
回答
6
查找到non-blocking sockets和查詢API,如select(2)
/poll(2)
/epoll(4)
/kqueue(2)
。
具體在C++中,請查看boost::asio
。
+0
如果處理recv()不讀取任何數據(這很容易)的情況,非阻塞套接字應該足夠了。使用select()或類似的東西有其優點,但也有缺點。您可以自行決定更適合您的需求。 – PeterK 2010-06-11 16:03:40
1
根據你在做什麼,使用select的非阻塞I/O可能是答案。
相關問題
- 1. 在WinSock中處理異步套接字?
- 2. 異步套接字 - 處理false socket.AcceptAsync值
- 3. UDP套接字異步接收
- 4. 異步套接字客戶端接收
- 5. 如何處理異步套接字中的超時?
- 6. C#異步套接字BeginSend
- 7. 在服務上處理不同類型的異步套接字接收數據
- 8. C#異步接收
- 9. 套接字同步接收
- 10. C中的異步套接字#
- 11. C#中的異步套接字
- 12. 瞭解C#中的異步(套接字)
- 13. 如何使用Python異步接收和回答套接字?
- 14. 異步套接字連接
- 15. C - 同步接收和處理來自unix套接字的數據
- 16. 如何使同步套接字異步?
- 17. TCP套接字客戶端異步 - 連接處理
- 18. Silverlight中的異步套接字連接
- 19. 如何處理套接字
- 20. 如何在Silverlight中處理異步數據接收?
- 21. C#異步套接字Begin/EndReceive問題
- 22. C#異步套接字BeginSend EndReceive
- 23. C#異步套接字通信阻塞
- 24. C#異步套接字文件傳輸
- 25. C#異步套接字 - 代碼分析
- 26. C#異步套接字問題
- 27. C#項目涉及異步套接字
- 28. C#異步套接字概念
- 29. C#異步對象傳輸(套接字?)
- 30. 異步套接字處理我需要去的方式?在Python
框架?促進? Qt的?原始的Windows API? Linux呢?請告訴更多。 – 2010-06-10 18:22:41