我目前正在使用线程来异步处理连接和发送调用。这一切工作正常,但现在我想使接收异步太。如何在等待数据时不暂停整个队列的情况下接收数据?我现在能想到的唯一解决方案是第二个线程。如何处理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. 异步套接字客户端接收
- 4. UDP套接字异步接收
- 5. 如何处理异步套接字中的超时?
- 6. C#异步套接字BeginSend
- 7. C#异步接收
- 8. C#中的异步套接字
- 9. C中的异步套接字#
- 10. TCP套接字客户端异步 - 连接处理
- 11. Silverlight中的异步套接字连接
- 12. 如何处理套接字
- 13. 如何在Silverlight中处理异步数据接收?
- 14. C#异步套接字文件传输
- 15. C#异步套接字Begin/EndReceive问题
- 16. C#异步套接字 - 代码分析
- 17. C#异步套接字通信阻塞
- 18. C#异步对象传输(套接字?)
- 19. C#项目涉及异步套接字
- 20. C#异步套接字问题
- 21. 异步套接字处理我需要去的方式?在Python
- 22. 异步套接字C#发送数据但未收到
- 23. BOOST ASIO - 异步套接字
- 24. 异步套接字读取
- 25. 异步套接字编程
- 26. 异步套接字编程
- 27. Python套接字编程 - 异常处理
- 28. TCP套接字:流发送/异步操作两次接收
- 29. 一个连续的异步客户端套接字接收示例c#
- 30. 处理c#中的套接字服务器发送和接收的数据#
框架?促进? Qt的?原始的Windows API? Linux呢?请告诉更多。 – 2010-06-10 18:22:41