Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

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

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.

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in