如何在C ++中处理异步套接字接收?

时间:2010-06-10 18:17:57

标签: c++ sockets asynchronous tcp

我目前正在使用一个线程来异步处理Connect和Send调用。这一切都运行正常,但现在我也希望接收异步。在等待数据时如何在不暂停整个队列的情况下接收数据?我现在能想到的唯一解决方案是第二个问题。

2 个答案:

答案 0 :(得分:7)

查看non-blocking sockets并轮询API,例如select(2) / poll(2) / epoll(4) / kqueue(2)

特别是在C ++中,请查看boost::asio

答案 1 :(得分:2)

根据您正在做的事情,使用select的非阻塞I / O可能就是答案。

Take a look at this tutorial