Sending Data to Receipt Printer from Remote Accounting Software
Problem description:
1. The accounting software is installed and used on a remote server.
2. Operators connect to the accounting software through a web browser or terminal client session.
3. A receipt, POS, or fiscal printer is locally connected to the operator's computer.
Solution:
Windows Workstation does not redirect COM port devices over the network, and Windows Terminal Server may do it slowly. You may have seen this happening when you print on a receipt, POS, or fiscal printer, and your remote app is responding slowly, or sometimes it does not respond at all. Introducing TCP COM Bridge (download) for Windows Workstations or Windows (Terminal) Servers allows you to redirect COM ports on your Windows computer instantly at the speed of light.
1. Install TCP COM Bridge on the server and configure it to work in the TCP server mode using a virtual COM port (Menu → Devices → Add). Please, note you should re-configure your accounting software to use the new virtual COM port.
Fig. 1. COM port
Fig. 2. Network connection
2. Allow the selected TCP port in your firewall and/or router. For multiple clients, you should use a separate TCP and virtual COM port. For example, you can use sequential TCP ports and virtual COM ports like 10021 → COM21, 10022 → COM22, etc. We recommend using TCP ports above 2000 and COM ports above 10 in your applications.
3. Configure TCP COM Bridge as a Windows service. It allows our software to start with Windows and before a user logs in.
Fig. 3. Service mode
4. Install TCP COM Bridge on a client computer with a shareable real hardware COM port (COM-USB, COM-Ethernet converters are OK too).
Fig. 4. Configuring a COM port on a client computer
5. Configure the program as a TCP client. The IP address and the port number should match the selected address on the server. The client will automatically connect to a server and redirect COM port data when the computer starts.
Fig. 5. Configuring a network connection on a client computer
6. In this usage scenario, we recommend using the "keep-alive" option on the client and server. If this option is enabled, the server or client can quickly detect and restore a broken connection (see. fig. 2).
Fig. 6. Keep-alive mode parameters
FAQ:
What's your licensing policy. How many licenses do I need?
You need a license for each computer where you use our software. Usually, you need the Professional license for the server and the Standard license for client computers. The main difference is in the number of connections and available start-up modes. The full feature matrix is here.
Printing on a receipt, POS, or fiscal printer is slow after installing your software. Can I do something else?
1. Ensure that you selected the "Optimize for small data packets" options (fig. 6) on the server and client sides.
2. Check your connection between the server and the client. Start cmd.exe on a client computer and execute the ping command on the server's IP address (e.g., ping 192.168.100.1). A response time to a ping command should be less than 50 ms.
3. If you use an operating system older than Windows 7, you probably need to optimize the system settings of your network adapter. We recommend performing optimization step-by-step, starting with client computers. More info.
Do I need to use the same COM port number on the server and client computers?
You can use different COM port numbers. Note that COM port numbers less than 10 are often in use by the operating system or other devices. Therefore, your attempt to add a virtual COM port with the same number will fail. You can see most COM port numbers in Devices Manages. If you see a COM port device with an asterisk, you can try to create a port with a higher number like 20, 30, 40, etc.
I cannot establish a network connection between a client and a server. What should I check?
1. Check your firewall settings on the server and client. Allow incoming and outgoing connections for TCP COM Bridge.
2. If you send data through the Internet, you should use the server's public IP address on the Internet. Such IP address cannot start with "192.", "172.", "10.". Please, note that VPN networks may use special addresses.
3. If you send data through the Internet, probably, your server is behind a router. It would be best if you redirected a TCP port on your router to a physical server. Ask your network or system administrator if you do not have access to these settings. Also, you may try to activate the "Enable UPnP" option on the "Server mode." tab (note, UPnP can be disabled in your network).