我用 boost::asio udp 套接字制作了我的 UDP 服务器和客户端。在我开始发送更多数据报之前,一切看起来都很好。它们正确地从客户端到服务器。但是,它们在我的缓冲区中合并为一条消息。
我用
udp::socket::async_receive
带std::array<char, 1 << 18 >
缓冲
用于发出异步请求。并通过回调接收数据
void on_receive(const error_code& code, size_t bytes_transferred)
如果我发送数据过于频繁(每 10 毫秒),我会同时将多个数据报接收到我的缓冲区中,并带有上面的回调。问题是 - 如何将它们分开?注意:我的 UDP 数据报有可变长度。我不想使用带有大小的附加标头,因为它会使我的代码对第三方数据报无用。