标签:c boost-asio tcpclient
当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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。