tags:

views:

101

answers:

1

I am having this strange problems with the getc function. I use getc to get a character from a socket file handler. I need to simulate message exchanges between pc and a mobile device. For the first few messages, getc works fine. But for this one, getc couldn't get anything from the socket. The whole Perl program blocked until I reset that mobile device. But the wireshark shows the message was send to the right port number.

Is there tool I can use to what's going on?

Thanks

+2  A: 

A common source of problems with file and socket handles is that the end of input can be reached and the handles error or eof flag could be set. Try calling seek HANDLE,0,1 to reset the handle after a call to getc doesn't return anything (or should it be sysseek? Is getc a buffered I/O operation?

mobrule
Thanks for the reply. I use wireshark and capture an extra Fin,Ack sends from tcp client which cause the next 3-way handshakes get out of sync. I fix the problem by use the same socket from previous test. It looks good now.
alex