FlexiHub may use different connection modes depending on the current network configuration to provide the best performance possible.
The connection mode used determines the speed of data exchange with a device. While this usually isn’t particularly important for COM port devices, USB devices normally generate a much larger amount of traffic and, therefore, available network throughput significantly impacts the overall user experience while working with a device remotely. Thus, it is useful to know what connection modes FlexiHub comes equipped with, how they compare in terms of speed, and how to always get the best performance regardless of what network connection you are on. The following sections cover this in detail.
Available connection modes
Direct connection channel, in which, as the name suggests, two computers connect directly;
QUIC channel, which employs the so-called UDP hole punching technique to try and get through NATs and let the two peers connect. It allows accessing remote devices over both the internet and a local network.
Tunnel Server channel, which uses an intermediate node on the Electronic Team’s side as a proxy between two user nodes.
The optimal connection mode is selected automatically, with the following precedence: direct connections → QUIC connections → Tunnel Server connections.
In terms of speed, a direct connection is always the fastest. QUIC can be slower and Tunnel Server connections are markedly slower but come to the rescue when a direct connection is impossible, for instance when both computers are behind NAT.
Status icons and their meaning
Opening FlexiHub, you see a list of computers currently logged in to your account: the first on the list is your computer, and the rest are remote computers.
Next to every computer’s name, there is an icon that represents its current network availability:
- 1. For your computer:
- • a green icon means that you have a public IP address (i.e. an IP address, by which your computer can be uniquely identified on the Internet), which allows remote computers to connect to you directly:
- • a yellow icon indicates that you do not have a public IP and that your computer is not “visible” from the Internet:
- 2. For remote computers:
- • a green icon indicates that your computer and a specific remote computer “see” each other over the network in at least one direction and can establish a direct connection:
- • a yellow icon means a direct connection with a specified computer is not possible:
- • a gray icon – the computer is currently offline:
There is also a status string for every device, by which you can tell the mode of the connection currently established to it:
- • no icon denotes a direct connection:
- • [QD] indicates a QUIC connection established over a local network:
- • [QN] indicates a QUIC connection established over the Internet:
• [R] means a connection through the Tunnel Server:
Typical network configurations
- 1. The computers have direct network visibility within a local network (Ethernet, Wi-Fi) – direct and QUIC connections are possible:
- 2. The computers are not in the same network, neither has a public IP address, both connect to the Internet through a router/NAT – a direct connection is not possible, a UDP connection or a QUIC connection through the Tunnel Server is used:
- 3. One of the computers has a public IP address – a direct connection is possible:
- 4. The router on one of the computers succeeded in forwarding the required ports automatically – a direct connection is possible.
- 5. The computers are connected via a VPN – a direct connection is possible, but the speed is comparable with that in a connection through the Tunnel Server.
Getting the best performance
If the device you are connecting to is located on a computer listed in FlexiHub with a yellow icon and you are noticing a lack of responsiveness and/or unacceptably low transfer rates, here is what you can do to allow FlexiHub to switch to direct connection mode and thus dramatically improve the performance:
- • enable UPnP port forwarding or manually open TCP port 5000 on your router (see your router documentation for more information);
- • obtain a public IP address for one of the computers participating in the connection.
Setting the connection channel priority
If you don’t want the connection mode to be selected automatically, you can set the channel priority manually.
To do this, take the following steps:
- 1. Select Preferences... > Connection from the main menu.
- 2. In the Connection tab, set the connection channels in order of priority.
Note: If you would like FlexiHub to always try to use only one channel when establishing connections to remote devices, you should select the preferred channel and set None as an alternative channel.