当前位置: 技术问答>linux和unix
求救!请教网络通讯错误errno:32:there is no process to read data written to the pipe
来源: 互联网 发布时间:2015-08-18
本文导语: 我写的程序在aix 5.2下运行的,出现了这样的错误,搞了很久都没法解决!有没有那位大哥碰到过?怎么解决呢?小弟先行谢过! errno:32:there is no process to read data written to the pipe | 是writ...
我写的程序在aix 5.2下运行的,出现了这样的错误,搞了很久都没法解决!有没有那位大哥碰到过?怎么解决呢?小弟先行谢过!
errno:32:there is no process to read data written to the pipe
errno:32:there is no process to read data written to the pipe
|
是write返回的吗?
EPIPE fd is connected to a pipe or socket whose reading end is
closed. When this happens the writing process will receive
a SIGPIPE signal; if it catches, blocks or ignores this the
error EPIPE is returned.
EPIPE fd is connected to a pipe or socket whose reading end is
closed. When this happens the writing process will receive
a SIGPIPE signal; if it catches, blocks or ignores this the
error EPIPE is returned.
|
你的SOCKET工作在阻塞方式下,此时如果读的进程已关闭,而写的进程还写数据的话就公出现此现象,因为写进行收到一个PIPE_BROKEN的信号,此信号默认的方式是中此进程,你可以设置为此信号默认方式为省略
|
你是不是写的是关于PIPE的程序
PIPE必须是READ进程先于WRITE进程打开,否则会产生SIGPIPE信号,并返回EPIPE错误给ERRNO
PIPE必须是READ进程先于WRITE进程打开,否则会产生SIGPIPE信号,并返回EPIPE错误给ERRNO
|
好像是说你写进去的数据没有进程会去读取。
|
既然两边的程序都是自己写的,我觉得至少应该能够保证在发送过程中连接不会被中断吧,我觉得有必要关注一下发送时的连接状态变化,另外就是想想还有没有其它什么情况导致连接中断。是调用send的时候就立刻出错还是send过程中的某一时刻出错呢?也就是读端有没有接收到数据呢?
|
你不防贴一下通讯的代码。
报这个错似乎己经建立了连接。
否则应该报 connect refused 错误。
报这个错似乎己经建立了连接。
否则应该报 connect refused 错误。
|
用的那个socket的状态还正常吗?