The GlinkProxy Session Persistence Server
GlinkProxy runs on a Windows server, can be located close to the host computer, and is designed to extend the life of sessions between Glink terminal emulation clients and hosts. A device running Glink might go idle, enter power-saving mode or move out of WiFi range and prematurely terminate the session between Glink and the host. The GlinkProxy software maintains the session with the host, even if the device goes to sleep or the connection is temporarily lost. This enables Glink to seamlessly resume the session without loss of productivity when it reconnects to GlinkProxy.
How it works
GlinkProxy is a server application that acts as a link between a Glink terminal emulation client and a host, maintaining an established session with the host even though the client device might go idle or lose WiFi connection. This is how it works:
- Glink connects to the GlinkProxy application server.
- GlinkProxy connects to the host application and establishes a session with the host on behalf of Glink and keeps track of the session information.
- GlinkProxy maintains the host connection, even if the connection between Glink and GlinkProxy goes idle or dead. You can configure how long GlinkProxy should maintain the host connection after the connection between Glink and GlinkProxy has been terminated. GlinkProxy can also differentiate between normal user initiated disconnects and unexpected disconnects with an error.
- When a Glink client reconnects after having been idle or lost the connection, the GlinkProxy server sends the session information to Glink and Glink continues the session.
The following image provides a conceptual overview of GlinkProxy.
The GlinkProxy application runs on a Windows server that can be located near the host computer. It will allow the traffic from the mobile
computers, tablets or PCs with Glink to be routed through the GlinkProxy server to the host. The GlinkProxy server will keep the connection to the host
application even if the connection to the client computers with Glink is lost. When Glink reconnects, the session with the host application will
resume as if the connection was not lost.
Delivery
The GlinkProxy application is delivered as a zip-file containing the GlinkProxy executable file and the product documentation.
Install and setup
- Copy the file to the Windows server on which you want to run the GlinkProxy software.
- Create a folder for GlinkProxy, for example C:\GlinkProxy, and unzip the GlinkProxy package here.
- Start glinkproxy.exe without parameters by double-clicking the icon or typing in glinkproxy.exe at a command prompt. You will now be requested to enter your license information. Either type it in or copy-and-paste it into the text box. Click "OK" twice and "Allow access" to the network for GlinkProxy when Windows Defender Firewall or other firewall prompts for it.
- You now have a running instance of GlinkProxy with default parameters.
- With default parameters, GlinkProxy will
- Keep the host connection for 30 minutes if the Glink device goes idle, enters power-saving mode or moves out of WiFi range and prematurely terminates the session to GlinkProxy. If Glink reconnects within 30 minutes, the session is resumed as if it never was disconnected from GlinkProxy.
- Disconnect the host connection immediately if the Glink user disconnects the session.
- Allow Glink to change the disconnect timeout values.
- Not send any keepalive packets unless specified by Glink.
- Open the Settings menu if you want to change some of these values and Save the changes.
Below you can read more about the Settings menu, its parameters and how you can set them from the command prompt.
You will also find a description of the proxy server parameters that can be set in Glink for iOS and Glink for Android.
Startup
If GlinkProxy is started without command line parameters, it will use default parameters the first time it is started and saved parameters on all following executions. If started with command line parameters (listed below), the command line parameters will override the previously saved parameters. For simplicity, it is recommended that you click Settings inside GlinkProxy to modify and save parameters and that you start GlinkProxy without any command line parameters.
Settings
Click "Settings" on the menu bar to open the settings menu.
In this menu you can configure:
- Time to retain host connection when client disconnects in error. The server will preserve sessions to the host when the connection is terminated abnormally. This parameter may be used to specify a timeout (in seconds) after which the host connection will be closed (same as /ED command line parameter). Note that the Glink client may redefine this timeout if this has not been disabled (/ACR, /NCR or Allow client disconnect redefinition)
- Time to retain host connection when client disconnects normally. This parameter specifies how a normal disconnect from the client should be processed. The default is zero, i.e., simply terminate the host connection immediately. Otherwise, the parameter tells the server to keep the connection active for the configured amount of time, allowing the client to reconnect until the timer expires (same as /ND command line parameter). Note that the Glink client may redefine this timeout if this has not been blocked (/ACR, /NCR or Allow client disconnect redefinition)
- Time to keep host disconnect status available. This parameter specifies how long the server will retain host disconnect status (in seconds). The default value is 3600.
- Use Telnet keepalive for host connection with interval. This parameter enables use of Telnet keepalives between GlinkProxy and the host. The default is not to use Telnet keepalives, but it can be very useful if the session is idle for long periods and you want to avoid that you are disconnected by the host due to inactivity.
- Use TCP keepalive for host connection. This parameter enables use of TCP keepalives between GlinkProxy and the host. The default is not to use TCP keepalives. The actual keepalive interval is a Windows system parameter.
- Allow client disconnect redefinition. This parameter allows redefinition of the /ND and /ED timeouts by the Glink client. This is the default, but you may use this parameter to override /NCR that might have been saved in Settings/Save.
- Ask for confirmation when killing sessions. In the Manage sessions menu, you can kill selected sessions. When this option is enabled, the administrator must confirm the intention to kill the specific session.
- Save Click to save modified parameter values
- Restore Click to restore parameter values to the saved values
- Defaults Click to set default parameter values
- OK Click to save parameters and exit the settings menu
- Cancel Click to cancel changes and exit the settings menu
Command line parameters
The GlinkProxy application is provided as a standalone program glinkproxy.exe. Its behavior is controlled by parameters set and saved in the Settings menu inside the application, but you can also use the following command line parameters to override the saved parameters.
Parameter | Description | Comment |
/ACR | Allow Client Redefine |
This parameter allows redefinition of the /ND and /ED timeouts by the Glink client. This is the default, but you may use this parameter to override /NCR that might have been saved in Settings/Save. |
/DLT nn | Disconnect List Timeout |
This specifies how long the server will retain host disconnect status (in seconds). The default value is 3600. |
/DEBUG | Debug |
If this is specified then a separate window will open to display debug information for server activity. |
/ED nn | Error Disconnect timeout |
The server will preserve sessions to the host when the connection is terminated abnormally or when the /ND parameter has kept the session in hold. The /ED parameter may be used to specify a timeout (in seconds) after which the host connection will be closed. Note that the Glink client may redefine this timeout if this has not been disabled by the /NCR command line parameter. |
/EK | Enter Key |
When this option is specified, the licensing form will be displayed to let you inspect or modify the licensing data. The server will terminate immediately after exiting the dialog |
/KT nn | Telnet KeepAlive |
This parameter enables sending of Telnet keepalive packets every nn seconds from GlinkProxy to the host. The default is not to send Telnet keepalive packets, but it can be very useful if the session is idle for long periods and you want to avoid being disconnected by the host due to inactivity. |
/KA | TCP KeepAlive |
This enables use of TCP keepalives between GlinkProxy and the host. The default is not to use TCP keepalives. The actual keepalive interval is a Windows system parameter. |
/NCR | No Client Redefine |
This parameter prevents redefinition of the /ND and /ED timeouts by the Glink client. |
/ND nn | Normal Disconnect timeout |
This specifies how a normal disconnect from the client should be processed. The default is zero, i.e., simply terminate the host connection immediately. Otherwise, the parameter tells the server to keep the connection active for that number of seconds, allowing the client to reconnect until the timer expires. Note that the Glink client may redefine this timeout if this has not been blocked by the /NCR command line parameter. |
/PORT nn | Port number |
The server listens by default on port number 30855 (0x7887). This parameter may be used to override this with a port number of your choice. |
/VERBOSE | Verbose debug |
Supplied as well as the /DEBUG parameter this tells the server to display all data sent and received (default is to display only the first 16 bytes of each block). |
The Settings/Save option available while the server is running will save many of these settings and you will then only need to use the above to override the saved values. This applies to /ACR, /DLT, /ED, /KA, /NCR and /ND.
Glink for iOS/Android Proxy Server Settings
Glink 5250, Glink 3270, Glink VT and Glink for iOS/Android can communicate with TN5250, TN3270, Telnet, TNVIP and Ggate protocols via GlinkProxy to host systems. This is enabled in the Menu -> Settings -> Proxy server menu:
Parameter | Value | Description |
Use server | on/OFF | Check this option to enable communication thru a GlinkProxy server |
Address | ip-addr | Configure the address of the server running GlinkProxy (not the application host) |
Port | nn | Configure the port number GlinkProxy is listening to. The default is 30855 |
User disconnect | nn | Specifies the number of seconds the proxy server should keep the connection to the host application after a user initiated disconnect. The default value is 0, which means that the connection to the host is disconnected immediately. This is what happens without a proxy server. Set this parameter to a non-zero value if you want that the proxy server should keep the session to the host the configured number of seconds after a user initiated disconnect |
Connection lost | nn | Specifies the number of seconds the proxy server should keep the connection to the host application after the connection to Glink is dropped with an error, for example if the device goes idle, enter power-saving mode, or move out of WiFi range. When the device is woken up or the network connection is reestablished, the user can reconnect and resume the session with the host application. |
When Glink is configured to use a proxy server, it will send server address and keepalive settings to the proxy server. The proxy server will use these parameters to connect to the host application server and maintain the connection to it. Keepalive settings, user disconnect and connection lost settings from Glink will override settings in GlinkProxy if GlinkProxy is set up to allow Glink to change these parameters. For all communications, the proxy server is a transparent communication gateway between Glink and the host application.