12-12-2006 05:02 PM
12-13-2006 01:43 AM
@Guy04 wrote:
Do I need to close the TCP connections on both ends. For example, I have a "server" that Listens and then a client that opens the TCP connection. Do I have to close the TCP connections on both ends. I'm closing it at the client side but is it also suppose to be closed at the Listening end?
Whenever you optain a LabVIEW refnum through an Open or similar function you should close it at some point too. A TCP refnum is really sort of a pointer to a local network socket and therefore represents resources in the form of memory and network stack management information. Not closing a connection refnum returned by the listen node may prevent your server to serve new connections after some time, since all internal network ports are blocked or the nework stack runs out of resources.
So close the connection refnum returned by the Listen function after the server is done serving your client and of course do the same on the client side as you already did. Also if you use Create Listener and Wait on Listener (which allows you to write server applications that can serve multiple connections simultanously) close the Listener refnum too when your server is done. Not doing so may prevent the server to be opened at the same port without restarting LabVIEW or at least your application.
Rolf Kalbermatter
Rolf Kalbermatter