Hi,
I have a java socket program running on AIX 4.3.3.0 platform. It
opens a socket and sends data to our customer over a leased fractional
T1 line. The line is always connected. However, periodically, I see
"java.IO.Exception: There is no process to read data written to a
pipe" error message in my log file. Can anybody tell me in what cases
this error message could occur?
The other strange thing is that our customer would report that they
miss a few messages everyday. And when I compare my log with the
customer's log, I found that the two messages reported to be lost are
actually the messages I sent before I see "there is no process to read
data written to a pipe" error message every time. For example, I sent
two files over, and no exceptions occurred; when i sent the third
file, an error message would say "there is no process to read data
written to a pipe", and the third message would get resent while our
customer is actually missing the first two messages. I don't
understand why I am not seeing any exceptions when I sent the first
two messages. It looks to me that when I sent the first message, the
link might have already been broken but somehow it didn't detect until
the third message was sent?? Does anyone have an idea of why that
happens or what's actually going on? I do a flush every time I send
out a message, and I've tried to set some of the options like
TCP_NODELAY and KEEP_SO_ALIVE, but nothing seemed to be working.
Can anyone help me? I'd appreciate any help!
Thanks a lot,
Jenny