in reply to connect() & close()
"It looks like I can close the socket before the msg is delivered to the server. When this happens the msg gets lost. Is this in fact what is happening?"
I assume we are talking about TCP. Yes, you are right that you can close socket before the message is delivered. However the connection is not really closed until the message is delivered. The connection is said in a lingering state (this is the formal terminology, lingering). The connection is really gone, when all pending data are sent. So look for some other reason ;-)
"I'm probably going to remove the close()"
No, not a good idea. Again, inspect your code and look for some other reason for your failure. This is not it.
"Not calling close() at all also worked."
But you are risking to have all usable local port used up.
|
|---|