我目前正在使用一个线程来异步处理Connect和Send调用。这一切都运行正常,但现在我也希望接收异步。在等待数据时如何在不暂停整个队列的情况下接收数据?我现在能想到的唯一解决方案是第二个问题。
答案 0 :(得分:7)
查看non-blocking sockets并轮询API,例如select(2)
/ poll(2)
/ epoll(4)
/ kqueue(2)
。
特别是在C ++中,请查看boost::asio
。
答案 1 :(得分:2)
根据您正在做的事情,使用select的非阻塞I / O可能就是答案。