Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Linux中C++;_C++_Linux_Sigpipe - Fatal编程技术网

C++ Linux中C++;

C++ Linux中C++;,c++,linux,sigpipe,C++,Linux,Sigpipe,有人听说过没有明显原因的信号管吗?我有一个程序,它被一个信号管撞坏了。我用信号(信号管,信号灯)防止了撞车;出于好奇,我没有做其他事情,即没有错误处理。令我惊讶的是,代码运行良好。我通过一个套接字与另一个程序通信。即使在SIGPIPE之后,通过套接字的数据传输也能完美地工作。这可能吗?由于临时网络故障导致的信号管道 这就是套接字在*nixes上的工作方式 基本上,发生的情况是,您在对等方重置的TCP套接字上执行了write()/send()或类似操作。默认情况下,这将导致SIGPIPE信号终止应

有人听说过没有明显原因的信号管吗?我有一个程序,它被一个信号管撞坏了。我用信号(信号管,信号灯)防止了撞车;出于好奇,我没有做其他事情,即没有错误处理。令我惊讶的是,代码运行良好。我通过一个套接字与另一个程序通信。即使在SIGPIPE之后,通过套接字的数据传输也能完美地工作。这可能吗?由于临时网络故障导致的信号管道

这就是套接字在*nixes上的工作方式

基本上,发生的情况是,您在对等方重置的TCP套接字上执行了write()/send()或类似操作。默认情况下,这将导致SIGPIPE信号终止应用程序

处理这一问题的常用方法是忽略SIGPIPE信号,就像您已经做的那样,而是处理write()/send()的错误返回值


更多信息请参见第2.19章和第2.22章,这是套接字在*尼克斯上的工作原理

基本上,发生的情况是,您在对等方重置的TCP套接字上执行了write()/send()或类似操作。默认情况下,这将导致SIGPIPE信号终止应用程序

处理这一问题的常用方法是忽略SIGPIPE信号,就像您已经做的那样,而是处理write()/send()的错误返回值


更多信息请参见第2.19章和第2.22章,谢谢。每当我在谷歌上搜索这个问题时,我总是发现类似“当对等方关闭连接时发生”这样的事情。这听起来对我来说是永久的。因此我感到惊讶。2.22更有意义。谢谢。每当我在谷歌上搜索这个问题时,我总是发现类似“当对等方关闭连接时发生”这样的事情。这听起来对我来说是永久的。因此我感到惊讶。2.22更有意义。