gpt4 book ai didi

c++ - 如何在异步 boost 中只读取一个数据包数据?

转载 作者:可可西里 更新时间:2023-11-01 02:37:32 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com