我有一个需要通过tcp读取数据的tcp客户端
但是我每次都需要读取一个tcp数据包数据。
我使用此代码:
socket_[socket_index]->async_receive(
boost::asio::buffer(buf, max_size),
boost::bind(
&pipe::handle_read, shared_from_this(),
boost::asio::placeholders::error,
socket_index,
boost::asio::placeholders::bytes_transferred));
但是有时我读取了一个以上的数据包,如何更改它以仅读取一个数据包数据?
最佳答案
你就是不行您对网络概念感到困惑,TCP的级别更高。
如果确实需要处理单个数据包,请使用UDP。对于您的最小情况,它很容易切换。
关于c++ - 如何在异步 boost 中仅读取一个数据包数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10482043/