TCP-Com can be configured for as many as 256 serial ports at a time on a single PC. The program uses a multi-document user interface. Therefore, to map more than one COM port to a TCP/IP connection you would select “New” from the File menu to open up a new converter window. Each converter window has a set of serial I/O parameters in the left side of the window and a set of TCP/IP parameters in the right side.
To configure a connection, choose the COM port and the desired serial communications parameters and then specify the IP address and port number that you want to connect to and lastly, click the Activate button to establish the connection.
If you check the check box labeled “Create virtual COM port”, TCP-Com will not open a physical serial port on your PC and instead it will create a virtual COM port after you activate it. The virtual COM port that is created by TCP-Com will work just like a real physical RS232 serial port and can thus be opened by any other serial communication program on your PC. This option basically allows you to create virtual COM ports that are actually connections to a TCP/IP port. When you run any serial communications program on your PC and open a virtual COM port created by TCP-Com, any data that the serial communications program sends out the virtual COM port will actually go out the TCP/IP port associated with the virtual COM port and any data received through the TCP/IP port will go into the serial communications program that has the virtual port open as if the data were coming in a physical COM port.
Each converter window (i.e. COM port connection) in TCP-Com can act as either a TCP/IP client or a server. If you configure a COM port to act as a TCP/IP client, then you will need to specify the remote host IP address and the port number for the TCP/IP server that you want to connect to. If you configure a COM port to act as a TCP/IP server, then the IP address of the local PC will be used and you only need to specify the port number that you would like to use. If your PC has more than one network interface card (NIC) then TCP-Com will display a list of all the IP addresses for each NIC installed in your system so that you can select the IP Address that you want to use.
Note: When you configure TCP-Com as a TCP/IP client, the remote host IP Address does not have to be a remote PC and you can make a TCP/IP client connection to the local PC that TCP-Com is running in. In other words, you can make TCP/IP client connections to the same PC that TCP-Com is running in. This includes connections to other instances of TCP-Com running in the same workstation configured as a TCP/IP server.
After you enter the parameters that you would like to use, you must click the button marked “Activate” to establish a connection between the serial port and the TCP/IP port. If the current window is set up as a client, it will immediately try to establish a connection to the specified remote server. If the server is not available, TCP-Com will continually try to establish the connection until it is successful. If the window is set up as a server, it will wait in “Listen Mode” until a client establishes a connection to it.
TCP-Com supports multiple client connections when it is configured as a server. This allows as many clients as you like to connect to TCP-Com. When configured as a server, the default settings are that all data received through the COM port (both real or virtual COM ports) on your PC will be sent to each of the clients connected to TCP-Com and all data received from each of the connected clients will be transmitted out the COM port on your PC. You can control the flow of data to and from each of the connected clients by clicking the button marked “I/O Options”.
In order for TCP-Com to act as a server, the PC that it is running on must have at least one network interface card with an IP address assigned to it. In Microsoft Windows, the TCP/IP protocol can be configured to automatically obtain an IP address from a host computer. This means that your PC may not have an IP address until it is connected to a network server or a host computer. You may need to contact your network administrator to assign an IP address to your PC if you wish to configure a COM port using a TCP/IP server connection. This is done in the network settings for the TCP/IP protocol in your control panel.
- The “Buffer Data If TCP/IP Port Closed” option
- The “Wait for timeout before transmit” option
- The “Use UDP Instead of TCP/IP” option
- Using computer names or URLs instead of IP Addresses when configuring TCP-Com as a TCP/IP client
- Choosing a TCP/IP Port Number
- Choosing a COM Port name when creating a Virtual COM Port with TCP-Com
- Opening the TCP-Com window after it has been minimized
Selecting the “Buffer Data If TCP/IP Port Closed” option in the Serial Port settings causes TCP-Com to hold any data that it receives through the serial port in a buffer if the TCP/IP port connection is not established when the serial data is received. TCP-Com will hold the data in the buffer until the TCP/IP port connection is available. As soon as the TCP/IP port connection is established, TCP-Com will transmit all the data that it has in the buffer out the TCP/IP port. If you do not select this option, TCP-Com will discard any data that it receives through the serial port if the TCP/IP port connection is not established. Enabling this option will ensure that any serial data that is received will not be discarded in the event that a TCP/IP connection is either broken or is not available however the amount of data that can be buffered is not unlimited. TCP-Com can buffer roughly .5 MB of data before it will be forced to discard incoming serial data.
Selecting the “Wait for timeout before transmit” option in the Serial Port setting instructs TCP-Com to not transfer any incoming serial data to the specified TCP/IP port until either 2000 characters have been received OR until no more data has been received through the serial port for the amount of time that you specify in the “Timeout Value” option. Selecting this option can help to speed up transfers of large amounts of data received through the serial port by reducing the number of TCP/IP packets that are actually sent. If you do not select this option, then TCP-Com will send whatever data it receives through the COM port out the TCP/IP port as fast as it can. If you have a very fast PC, TCP-Com could potentially send a large number of TCP/IP data packets each containing a very small amount of data. When this option is selected, TCP-Com will wait until it has at least 2000 bytes of data or until the specified timeout interval occurs before sending a packet of TCP/IP data. In other words, when this option is selected, instead of sending a large number of small TCP/IP packets, TCP-Com will send a smaller number of large packets thereby reducing the amount of overhead associated with each TCP/IP packet. The default Timeout Value of 150ms should be an adequate value for most typical applications.
Checking the option “Use UDP Instead of TCP/IP” causes TCP-Com to use the User Datagram Protocol for all data transfers instead of using the TCP/IP protocol. The TCP/IP protocol is a “connection” protocol that guarantees that all data sent from one end of the connection is received on the other end. If a connection is lost or broken, an error condition is reported to the software that has the connection open. Also, when more than one data packet is sent through a TCP/IP connection, the packets are guaranteed to be received in the order in which they were sent – even if a packet that was sent later than a previous one is received before the earlier packet.
The User Datagram Protocol (UDP) is a “connectionless” protocol where data is sent out a port with no regard to there being any connections established. UDP is therefore not considered as robust as TCP/IP however it is generally faster than TCP/IP and it provides for easy recovery in case of network problems. Unless you have a specific need to use UDP instead of TCP/IP, you are generally better off using TCP/IP.
You can think of TCP/IP as working like a telephone system where a Client dials a specific connection to a Server and they communicate until one or both hangs up the phone. UDP is analogous to a pair of walkie talkies. When either a UDP Client or a UDP Server sends data it is basically sending the data out onto the network to anyone that happens to be listening on that port. If you use UDP instead of TCP/IP, it is important that both ends of the connection use UDP. In other words, you cannot connect a UDP Client to a TCP/IP Server or vice versa.
When you configure TCP-Com as a TCP/IP client, you normally enter the IP Address for a computer or device that you want to connect to however TCP-Com will also allow you to enter either the name of another workstation in your network (or your own workstation name if you want to connect to yourself) or you can enter the URL of a computer on the Internet as well. If you do this, TCP-Com will automatically resolve the IP Address for the specified computer name or the URL for you. This feature can come in very handy in several situations. One situation is when you do not know the IP Address for a particular computer in your network however you do know its computer name (as shown in the Network Neighborhood explorer in Windows). For example, if you want to connect to a computer named “Bob’s PC”, you can simply enter “Bob’s PC” for the IP address instead of the actual IP address. Another situation is where each computer in your network is assigned a dynamic IP address and therefore the IP Address may change each time you boot your computer. In this case, you may be forced to use the name of the PC that you want to connect to instead of an actual IP address in order to guarantee a connection. If you are setting up TCP-Com to connect to a computer on the Internet, you can also specify the URL for that computer instead of its IP Address. For example, suppose that you wanted to make a client connection to a TCP-IP port on your company’s web server, you could specify http://www.YourServerName.com as the IP Address and TCP-Com will automatically resolve the actual IP Address for you.
TCP-Com will allow you to select any TCP/IP port number that you like when configuring a TCP/IP connection however many TCP/IP port numbers with values below 1000 may be reserved by your operating system depending on how your system is configured. TCP/IP port numbers with values greater than 1000 are normally available for use with no restrictions. Because of this, we generally recommend that you use port numbers with values greater than 1000 when configuring TCP-Com.
The choice of which TCP/IP port number to use is totally arbitrary and all you really need to worry about is making sure that both the TCP/IP server and the TCP/IP client both use the same port number and that the port number that you choose for each connection is not already being used either by a previous instance of TCP-Com or by some other TCP/IP communication software.
TCP-Com will allow you to create virtual COM ports using the same names as any physical COM ports that you have installed in your system. For example, if your PC has a COM1 port installed in it and you create a virtual COM port with TCP-Com on COM1, you will effectively disable the physical COM1 port on your system. For this reason we recommend that you choose COM ports that do not already exist in your system when you use TCP-Com to create Virtual COM ports.
When you minimize TCP-Com, it will insert an icon into the Windows system tray instead of placing an icon in the Windows taskbar. To open the TCP-Com window after it has been minimized, right click on the TCP-Com icon in the system tray and select “Open TCP-Com” from the popup menu that appears. If you have a password set in TCP-Com, you will be prompted to enter the password before the TCP-Com window will actually open. If you enter an invalid password, the TCP-Com window will remain minimized.