是否有任何TCP设置会影响SIGPIPE?
我在两个系统上测试了相同的测试代码(服务器 - 客户端)。在一个我得到一个SIGPIPE,在另一个我没有得到SIGPIPE。
测试场景如下所示:
客户
连接到服务器
从服务器接收数据
发送数据
关闭套接字
服务器
接受来自服务器的连接
将数据发送给客户
接收数据
发送数据
关闭套接字
在一个系统(在同一系统上运行的客户端和服务器)中,SIGPIPE在客户端或服务器端随机发生。
但是,在另一个系统中,使用相同的测试代码不会发生此问题。
我想知道破坏的管道是否与TCP设置有关。
没有找到相关结果
已邀请:
2 个回复
耐钨徒
其中sd是你接收SIGPIPE的套接字。
导力疵谜
信号。这里存在竞争条件,如果一端在另一端尝试发送数据的同时关闭套接字 - 可能在发送之前或之后接收到关闭通知,这就是为什么在一个测试环境中发生
并且不是另一个。 通常,套接字感知应用程序应忽略
,而是从
同步处理产生的
错误。