c++检测客户端是否关闭了连接(多套接字)

c++ detect if the client closed the connection (multi sockets)

本文关键字:连接 套接字 检测 客户端 是否 c++      更新时间:2023-10-16

在我的程序中,我在服务器上有几个套接字。每个套接字都有自己的端口。我试图检测客户端是否关闭了与的连接

signal(SIGPIPE, sig_pipe);

但我有一个问题,我不知道哪个插座的连接是关闭的。有什么方法可以让它知道吗?

有关代码的详细信息:在主程序中,我在不同的端口上启动了3个套接字。接受、接收和发送我放入一个线程中的每个套接字。所以我最后有3个线程。

谢谢。

您应该将SIGPIPE设置为被忽略(请参阅sigaction(2)),并处理来自write(2)等的EPIPE错误代码。

请注意,从TCP套接字读取零字节是另一方关闭连接的真实指示。