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 PCoP 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 your workflow and needs using the
broker_client_example
source code as a starting point. For more information see Session Client API Integration. - Use the stock
client_session.exe
executable, which is located within the SDK at bin/client_session.exe, to establish the connection.
Security Considerations
The values passed to the client_session.exe 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 client_session.exe 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 could use them before client_session.exe 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 client_session.exe 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 client_session.exe executable beyond that which is possible via its command line interface, or if you need to integrate the pre-session and client_session.exe 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 client_session.exe 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.