0

我在异步读取 boost asio 套接字时遇到问题。我有一个随机写入套接字的客户端程序。我有一个 boost asio 服务器,它应该读取并处理它。

当我同步读取它时, tcp::socket _socket .available()无论客户端写入它,函数都会给我准确的可读字节。例如。如果客户端第一次写入 9000 字节,第二次写入 500 字节。第一次读取给我 9000 字节,第二次给我 500 字节。

当我异步阅读它时,我正在使用以下函数:

boost::asio::async_read(_socket,_response, boost::asio::transfer_at_least(1), boost::bind(&CMyclass::handle_read_header,
this,boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));

这里 bytes_transferred 总是 512 并且读取 9000 字节的数据它调用了 18 次。有没有人对此有想法。

4

0 回答 0