ThingWorx Remote Session Edge Extension for the ThingWorx Edge C SDK
The ThingWorx Remote Session Edge Extension (RSEE) enables developers to use the ThingWorx Global Access Server (GAS) to establish remote sessions with ThingWorx C SDK based Edge Devices.
Previously, remote session tunnels were initiated via a remote service call to the edge device. This opened a new websocket connection for the tunnel to the ThingWorx Platform, and a local TCP socket connection to the edge device specified in the service request. Any data received on the new websocket connection was proxied to the local TCP socket connection, and vice versa. Data flowed over the tunnel until the platform requested that the tunnel be shutdown, or the socket on either end of the connection was closed.
With RSEE, remote session tunnels will still be initiated via a service request sent down the websocket tunnel to the edge device, but instead of opening a second websocket connection to the ThingWorx Platform, the edge extension will establish a direct TCP connection to the Global Access Server. A remote session’s traffic is then tunneled from the Remote Access Client (RAC) to the Global Access Server (GAS), and then back down to the edge device, never reaching the Thingworx Platform. Local TCP connections are not established on the edge device until the client attempts to connect, which triggers a GAS protocol message request to dynamically open the socket. Opening and closing sockets on either end of the connection will not cause the tunnel to be shut down. The tunnel will remain established until either the platform requests that it be shut down, or when no data is received during a certain amount of time and then the tunnel times out.
This section provides the following information: