这个问题在这里已经有了答案:c++howtouseselecttoseeifasockethasclosed(4个答案)关闭6年前。我正在使用Linux。谁能给我一个例子,说明如何使用select()或poll()检查TCP连接是被对等方通过FIN关闭还是被RST终止?poll()可以通过在revents中设置POLLHUP或POLLERR来检测RST,但是select()没有这样的功能。在我的测试中,当套接字被RST终止时,getsockopt得到的套接字错误将是ECONNRESET。这是一种有效的方法吗?是否需要确定连接是如何关闭的?谢谢!