EOF in async_read() in boost::asio
EOF in async_read() in boost::asio
当async_read_some()返回EOF异常时,这意味着服务器停止发送数据还是意味着连接已关闭。我有这种困惑,因为我找不到一种方法来知道客户端是否收到了来自服务器的所有数据。
表示连接已关闭。虽然在其他地方有文档,但仍然适用:
错误码为
boost::asio::error::eof
,表示连接被对端关闭。
如果客户端需要知道从服务器接收到的所有数据,那么考虑在通信协议中支持帧。提振。Asio提供了更高级的操作来帮助简化此操作。例如,async_read_until()可用于使用一组特定字符来指示消息结束的协议,而async_read()可用于固定长度协议或具有固定长度头的可变长度协议。
相关文章:
- Crash in boost::archive::text_iarchive in_archive {is} boost
- Boost.Spirit X3 解析器"no type named type in(...)"
- 对 Boost::p rogram_options in Vowpalwabbit 编译的未定义引用,Ubuntu 16
- Boost C++ Libaries in Visual Studio 2017 C++ Project - "Cannot open include file"
- ref_count in boost::shared_ptr
- itertools.tee equivalent in Boost::Range?
- QStringList alternative in STL or Boost
- SWIG/Lua typemap for Boost Array in
- boost::shared_ptr in a modified factory method
- 正在添加 boost::any in a boost::p roperty_tree 可能
- ref() in Boost::Lambda?
- CMAKE:复制 Boost-Build 的"build everything in Jamfile"行为?
- 提升精神语法错误 - "no type named ‘size’ in ‘struct boost::spirit::unused_type’"
- Boost.asio in Visual C++ Form project
- boost::asio::d eadline_timer 导致"a function call cannot appear in a constant-expression"错误
- ColorMap in boost::graph 隐式图形用于metric_tsp_approx
- MFC ASSERT in dllinit.cpp line 703 使用 Boost.Log(或 Boost.Thre
- boost::bind in boost::lambda 的嵌套用法不起作用
- Sql IN analog in boost::multi_index
- EOF in async_read() in boost::asio