使用asio在TCP套接字上读取时如何处理随机eof错误?

时间:2019-05-09 07:32:11

标签: c++ sockets tcp boost-asio asio

场景:

这个问题是要了解EOF error的含义以及如何处理。

我有一个使用boost asio 1.64编写的客户端和服务器。我的应用程序在大约3-4个小时内运行良好,其中来回读取数据包,例如服务器每秒至少发送5个数据包,然后由客户端应用程序读取数据包。

问题和疑问:

但是有时5到6个小时后,我突然收到eof错误!我不确定这意味着什么。插座由于某种原因被关闭了吗?我可以忽略它并继续阅读下一个数据包吗?我是否应该尝试将其作为连接丢失并“重新触发我的对等连接”逻辑?

EOF error状态-“流的结尾可能导致read,async_read,read_until或async_read_until函数违反其约定”?但是,在错误出现之前,已经有超过100,000个读取成功。这说明什么?期望从此问题中获得一些有关eof错误的信息和理解。

0 个答案:

没有答案