插座关闭时管道损坏

ste*_*225 7 c++ sockets linux

我在Linux机器上有一个服务器/客户端应用程序.如果客户端尝试发送请求时服务器未启动,则会收到SIGPIPE并终止应用程序.

在尝试编写之前,如何检查套接字上的服务器是否可用?

另外值得注意的是,我不想捕获SIGPIPE,因为客户端实际上是许多应用程序使用的共享对象的一部分,这些应用程序可能已经或可能没有定义自己的信号处理方法.

谢谢

Eri*_*rik 7

MSG_NOSIGNAL作为旗帜传递给send()