如何使用boost::beast检测WebSocket的断开连接?

3
我知道我可以使用 async_write async_read 中的错误代码来检查断开连接。
然而,在我的情况下,接收到数据后,我不能立即回写(或者回写可能永远不会发生)。
在读和写之间的时间内,如何检查客户端断开连接异常?
1个回答

5
我知道在async_write、async_read中使用错误代码来检查断开连接。
实际上,只有async_read会通知您对方是否正常关闭了连接。
在读写之间的时间内,如何检查客户端的断开连接异常?
您无法做到。事实上,即使调用async_read,有时也不可能知道对方是否关闭了连接。如果有一段时间没有活动,您需要使用计时器来超时连接。如果太长时间没有活动,您可以使用Websocket流的ping功能。高级服务器示例演示了这一点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接