其他分享
首页 > 其他分享> > c – boost :: asio中async_read()中的EOF

c – boost :: asio中async_read()中的EOF

作者:互联网

当async_read_some()返回EOF异常时,它意味着服务器停止发送数据,或者是否意味着连接已关闭.我有这种困惑,因为我无法找到一种方法来了解客户端是否已从服务器接收到所有数据.

解决方法:

它表示连接已关闭.虽然记录了elswhere,但它仍然适用:

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

如果客户端需要知道已从服务器接收到所有数据,则考虑支持通信协议中的成帧. Boost.Asio提供更高级别的操作,以帮助简化这一过程.例如,async_read_until()可用于其中使用某组字符来指示消息结束的协议,并且async_read()可用于具有固定长度报头的固定长度协议或可变长度协议.

标签:c,boost-asio,tcpclient
来源: https://codeday.me/bug/20191006/1861476.html