在c++中识别一个与Socket断开连接的客户端

Identify a client disconnected from a Socket in C++

本文关键字:Socket 断开 连接 客户端 一个 c++ 识别      更新时间:2023-10-16

我有一个c++服务器,其中客户端将连接到服务器套接字并获取搜索结果。我使用Boost库为我的套接字编程。

将有5个搜索结果,其中客户端连接。对于服务器来说,这些搜索结果的计算成本很高,并且计算是以迭代的方式完成的。现在经常发生的情况是,客户端在收到2或3个搜索结果后断开连接。我希望在发出请求的客户端断开连接时立即停止Search处理线程。确认这一点的最佳API调用是什么?如果可能的话,我愿意在boost的基础上编写我自己的包装器。

我只使用HTTP。

谢谢

检测TCP断开连接的唯一方法是对它执行I/O操作。在一些发送到已断开连接的对等端后,您将获得ECONNRESET。由于TCP缓冲,第一次发送时不会发生这种情况