我正在编写 TCP 客户端,它应该能够同时发送和接收数据。你能告诉我应该如何调用async_send
并且async_receive
是单独的线程吗?
换句话说,如何调用
m_Socket.async_send(boost::asio::buffer(txBuf.c_str(), txBuf.length()+1),
boost::bind(&TCPClient::sendingHandler, this, boost::asio::placeholders::error));
m_Socket.async_receive(boost::asio::buffer(rxBuf, maxBufLen),
boost::bind(&TCPClient::sendingHandler, this, boost::asio::placeholders::error));
在
boost::thread receivingThread(boost::bind(...));
boost::thread sendingThread(boost::bind(...));
如果我在处理程序中调用async_send
或async_receive
再次调用它会正常工作吗?我需要一个不定式循环来发送/接收数据。