EOF in async_read() in boost::asio

后端 未结 1 1474
日久生厌
日久生厌 2021-01-04 07:30

When the async_read_some() returns an exception of EOF does it mean the server stopped sending data or does it mean the connection is closed. I\'m having this confusion as I

相关标签:
1条回答
  • 2021-01-04 07:52

    It indicates the connection has closed. Although documented elswhere it is still applicable:

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

    If a client needs to know that all data has been received from the server, then consider supporting framing in the communication protocol. Boost.Asio provides higher-level operations to help make this easier. For example async_read_until() can be used on protocols where a certain set of characters are used to indicate the end of a message, and async_read() can be used for either fixed-length protocols or variable length protocols with a fixed length header.

    0 讨论(0)
提交回复
热议问题