我有一个需要通过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/

10-11 23:07
查看更多