c++检测客户端是否关闭了连接(多套接字)
c++ detect if the client closed the connection (multi sockets)
在我的程序中,我在服务器上有几个套接字。每个套接字都有自己的端口。我试图检测客户端是否关闭了与的连接
signal(SIGPIPE, sig_pipe);
但我有一个问题,我不知道哪个插座的连接是关闭的。有什么方法可以让它知道吗?
有关代码的详细信息:在主程序中,我在不同的端口上启动了3个套接字。接受、接收和发送我放入一个线程中的每个套接字。所以我最后有3个线程。
谢谢。
您应该将SIGPIPE
设置为被忽略(请参阅sigaction(2)
),并处理来自write(2)
等的EPIPE
错误代码。
请注意,从TCP套接字读取零字节是另一方关闭连接的真实指示。
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- C++套接字客户端到 Python 服务器未创建连接
- 在不知道套接字的情况下关闭网络连接
- 当对套接字 send() 的同步调用由于连接另一端丢失而被阻止时,如何恢复?
- 当客户端在 write() 期间终止连接时,由对等套接字错误重置连接
- 从网链套接字请求连接设备的列表
- C++ TCP 套接字通信 - 连接按预期工作,几秒钟后失败,没有收到新数据,read() 和 recv() 块
- 如何在 2 台主机之间保持 UDP 套接字连接打开
- C++关闭套接字以启动新连接
- Opencv 不适用于套接字连接
- 使用单个套接字处理多个传入的 UDP 连接
- 连接UDP套接字,但仍然接收来自其他源的数据报
- C++通过套接字连接发送矢量
- 为什么我在蓝牙连接()上收到"java.io.IOException:读取失败,套接字可能关闭或超时,读取re
- boost1.62 在 docker 容器中重新连接后套接字损坏
- 尝试连接到 TCP 套接字 (Linux) 时连接被拒绝
- 仅通过建立一次TCP连接将Recv从客户端发送到服务器套接字
- 接受套接字,但m_socket.远程终结点引发 传输终结点未连接
- 提振.Asio:对每个连接/套接字使用“io_service”是件好事吗?