对于已关闭的socket的写操作,第一次会正确返回,第二次就会触发SIGPIPE信号,如果没有捕获就会导致程序被杀掉,可以使用下面的代码解决。
int nosigpipe = 1;
setsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));
对于已关闭的socket的写操作,第一次会正确返回,第二次就会触发SIGPIPE信号,如果没有捕获就会导致程序被杀掉,可以使用下面的代码解决。
int nosigpipe = 1;
setsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));