Session Client Integration¶
There are two methods of integrating the in-session phase, integrating using the session client binary or using the Session Client API. The following diagrams show these methods in relation to integrating the SDK into a custom application:
Session Client Binary Integration¶
This method uses the session client binary as a separate in-session application. This is the simplest way to use the Client SDK and it is recommended as the initial mode to use for developing your own client. In this mode, the pre-session and session phases are handled by separate executables:
- Write a custom pre-session executable according to yout workflow and needs using the
broker_client_example
source code as a starting point. For more information see Session Client API Integration. - Use the
pcoip-client
executable, which must be installed separately, to establish the connection.
Security Considerations
The values passed to the pcoip-client
executable include sensitive
information required to establish a session with the host. In particular, the
connection tag is a single-use time-limited (60 seconds) token that allows the
pcoip-client
executable to connect to the host as an authenticated user.
If an attacker is able to gain visibility to command line parameters as they are
passed to client session, it is possible that they could use them before pcoip-client
does and gain access to the host as that user. It is vital to ensure good
security practices are applied to the client machine to prevent it from being
compromised. This type of attack can be avoided completely by integrating the
pre-session and pcoip-client
into a single executable as described in the
following section.
Binary Integration
Session Client API Integration¶
This method uses the session client API to integrate the in-session functionality into a custom application.
This method is necessary if you wish to modify the behavior of the pcoip-client
executable beyond that which is possible via its command line interface, or if you need to integrate the pre-session and pcoip-client
into a single executable. In this mode you will use:
- The broker_client_example source code as a starting point for writing custom pre-session functionality
- The
pcoip-client
source code as a starting point for integrating with the Session Client API.
The Session Client API provides a simple high level C++ interface for configuring, starting, and stopping a session using the values obtained from a broker.
Session Client API Integration
*Partner Virtual Channel Plugins can be developed using the Virtual Channel SDK to enable this you can combine the PCoIP Client SDK with the PCoIP Virtual Channel SDK. For more information, see the Virtual Channel SDK.