RemoteDesktopClient
- Last UpdatedFeb 19, 2025
- 4 minute read
The RemoteDesktopClient node manages a connection to an XR Remote Desktop API-based application.
Although the Rect2D node can directly connect to an XR Remote Desktop channel, we recommend using RemoteDesktopClient, which provides more functions to control communication.
Platform support
This node is fully supported on XR-Windows, XR-Portable Windows, XR-Portable iOS, XR-Portable Android, and XR-Portable WASM platforms.
|
XR-WIN |
XR-P-WIN |
XR-P-IOS |
XR-P-AND |
XR-P-WASM |
|---|---|---|---|---|
|
Full support |
Full support |
Full support |
Full support |
Full support |
|
|
|
|
|
|
Configuring the connection string
Configure the connection string to connect to an XR Remote Desktop API-based server.
To connect to an XR Remote Desktop API-based server
The connectionString field must be configured as follows:
serverIP:serverPort:channelIdentifier
Where:
-
serverIP is the ipv4 address of the machine hosting the XR Remote Desktop API-based application.
-
serverPort is the port on which the server app is set.
-
channelIdentifier is the unique channel identifier.
Note: The channelIdentifier element is needed because XR Remote Desktop API supports multiple channels from a single server, such as different monitors of a machine or different processes running on a machine.
Restricting event traffic to server
You might want to restrict the amount of event traffic sent to the server.
Virtual mouse events can be too many for the server to manage. This is true especially when interaction is through a Hand node in VR or AR context because the hand is naturally changing its position at every frame.
The RemoteDesktopClient node provides a few functions to restrict the virtual mouse movements sent to the server:
-
onlySendChanges: The position is sent to the server only when it has changed. This is probably enough when interacting with a remote application using mouse in screen mode.
-
mouseRefreshTime: This value works on top of the onlySendChanges setting and limits the number of sent movement events to one every given interval (and only if the position is changed). This setting is really crucial to improve performance.
Note: Event reduction is only for movements. All other events, such click, enter, or leave are sent immediately.
Messaging with server
RemoteDesktopClient supports bi-directional client server communication through messages.
A message is a STRING value, so messages can move any type of text-based content, such XML, JSON, YAML, XR data types and so on.
Sending messages to server
Messages can be sent to the server using the sendData field. Despite the SSTACK data type, the messages are consumed as a queue and sent to the server one by one as soon as possible.
Receiving messages from server
Server messages are received along with images; therefore, the server is limited to the image sending speed.
Each time a message is received, its content is moved to the receiveData field.
Code example
This is a code example for the RemoteDesktopClient node.
<RemoteDesktopClient name="remote_machine" connectionString="192.168.40.113:10700:mainScreen" onlySendChanges="true" mouseRefreshTime="0.1" />
RemoteDesktopClient fields
These are the fields for RemoteDesktopClient node. Only the node-specific fields are indicated, not fields obtained by inheritance.
Field inheritance: NodeBase > RemoteDesktopClient
|
Fields |
Type |
Use |
Default value |
Description |
|---|---|---|---|---|
|
connected |
sbool |
Read-only |
Internally calculated |
Shows the state of the connection to the XR Remote Desktop API based application. |
|
connectionString |
sstring |
Optional |
Empty |
Server connection string including server IP, server port, and selected channel identifier. |
|
framesPerSecond |
sint |
Read-only |
Internally calculated |
Checks the server image dispatching performance. |
|
mouseRefreshTime |
sfloat |
Optional |
0 |
When set to a number higher than zero (0), mouse movement events are sent at specified intervals and only if the mouse position has changed. |
|
onlySendChanges |
sbool |
Optional |
true |
Restricts sending information about mouse movement events to server only when mouse position has changed. |
|
receiveData |
sstring |
Read-only |
Internally calculated |
Message received from server. |