gpt4 book ai didi

c++ - boost::asio 中 async_read() 中的 EOF

转载 作者:可可西里 更新时间:2023-11-01 15:20:14 30 4
gpt4 key购买 nike

当 async_read_some() 返回 EOF 异常时,是服务器停止发送数据还是连接已关闭。我有这种困惑,因为我找不到一种方法来知道客户端是否已从服务器接收到所有数据。

最佳答案

表示连接已经关闭。虽然记录了elswhere它仍然适用:

An error code of boost::asio::error::eof indicates that the connection was closed by the peer.

如果客户端需要知道已经从服务器接收到所有数据,那么可以考虑在通信协议(protocol)中支持分帧。 Boost.Asio 提供更高级别的操作来帮助简化此过程。例如async_read_until()可用于使用特定字符集指示消息结束的协议(protocol),以及 async_read()可用于固定长度协议(protocol)或具有固定长度 header 的可变长度协议(protocol)。

关于c++ - boost::asio 中 async_read() 中的 EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297001/

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