Documentation on how to traverse/manage proxy servers and firewalls is vendor specific. The main thing to know about the particular protocols you are using to communicate with is the ports that they use on your OS so that your proxy can forward packets it receives on those ports to the proper machine.
For DataSocket the server always uses port 3015, and the reader/writer clients use a random ephemeral port above 1024. The DataSocket API doesn't provide any mechanism for selecting a specific port for clients or detecting which port a client is using.
The TCP library in CVI allows you to select a specific open port for your server applications, but does not provide this for clients. Just as with DataSocket the TCP library will use a random ephemeral po
rt above 1024. However, with the CVI TCP library client function GetHostTCPSocketHandle, you can obtain a Window's socket handle for your application to possibly be used in conjunction with the Windows Platform SDK WinSock library functions to query the sockets port number.
If you need complete control over the ports that your applications use, you might want to investigate using a WinSock library only configuration.
Other than that you should look to your proxy/firewall vendor for documentation on opening certain ports for communication.
Jason F.
Applications Engineer
National Instruments
www.ni.com/ask