Question about sockets
Eljay Love-Jensen
eljay@adobe.com
Mon Jul 28 03:23:00 GMT 2008
Hi Leonardo,
The gcc-help forum is not the correct forum for socket and pthread
questions. I do not say this to chastise you, rather to inform you that
faster, more accurate help is likely to come from a more appropriate forum.
That being said...
Your source code is too long. Could you trim it down to a much smaller
example that exhibits the problem?
Also, when you close your socket, it does not appear that you first did a
shutdown of the socket.
man 2 close
man 2 shutdown
You may want to adjust your socket options, such as linger or timeout.
man 2 setsockopt
The CLOSE_WAIT means the remote connection has finished sending data, and
your side has not yet done a shutdown and close.
The TIME_WAIT means that both sides have close'd the connection, but the IP
stack is obliged to wait a prescribed time before taking the connection
down. This is normal, and expected.
Also, your communication may be affected by Nagle's algorithm. In most
cases, Nagle's algorithm is a good thing. For certain kinds of IP
communication (what I'd call "chatty" communication), it can introduce
undesirable latency.
Sincerely,
--Eljay
More information about the Gcc-help
mailing list