The Broker Client Example¶
The included sample broker client demonstrates how the APIs can be used to customize and control the pre-session and session phases of the connection. The Broker Client API is a two-step procedure, where as a first step, the Broker Client Example is built. The second step consists of running either a prebuilt PCoIP binary, or a prebuilt AWS binary.
Code is an API Demonstration Only
The sample session client, described in the following
sections, demonstrates a simple connection scenario using
the supplied broker_client_library
. The example
unrealistically assumes that all requests and calls succeed
as expected, and performs only basic error handling.
An actual client implementation is likely to be far more
complex; for example, you will need to handle failed broker
certificate verification, account for other authentication steps
beyond a simple user ID and password combination, and
any other circumstances dictated by your system
requirements.
The Broker Client Example Sequence¶
This section describes how the broker client example implements the PCoIP session sequence. It also provides an overview of invoking and using the executable session client.
Custom Broker Client Library Implementations
PCoIP clients interact with PCoIP-compatible brokers and PCoIP agents using an abstraction layer called a broker client library. The following example uses the supplied broker client library. You may, however, choose to write your own broker client library to meet specific requirements, or use a thirdparty broker library which does not use the PCoIP Broker Protocol. Refer to the PCoIP® Connection Broker Protocol Specification for details on how to design and implement your own connection broker.
Building the Broker Client Example¶
Detailed Instructions
For more information on building the Broker client example, seeBuilding the Linux SDK.
- Install the latest PCoIP Software Client. For more information see the topic "Installing the PCoIP Software Client for Linux" in the Administrators Guide.
- Download the latest Linux SDK.
- To install the SDK, extract the contents of the
PCoIPSoftClientSDK
folder to a location of your preference. - From the PCoIPSoftClientSDK folder, use the
cd
command to change the directory tobroker_client_example
. - Create a build directory by running the following command:
mkdir build
- Change the directory to
build
by running the following command:cd build
- Configure the SDK example by running the following command:
cmake -G Xcode ..
- Build the example by running the following command:
cmake --build . --config RelWithDebInfo
Custom Broker Client Library Implementations
This procedure creates broker_client_example.app
and broker_client_example_aws.app
in the RelWithDebInfo
folder, making the following executables available:
- ./RelWithDebInfo/broker_client_example.app/Contents/MacOS/
broker_client_example
- ./RelWithDebInfo/broker_client_example_aws.app/Contents/MacOS/
broker_client_example_aws
Running the Prebuilt PCoIP Client Binary¶
This example uses the supplied credentials to first establish a PCoIP session and then launch the PCoIP Software Client. The PCoIP Software Client thus launched, then connects to the remote agent.
Location of the login_info File
The login_info.txt
file is available in the following location: ~/Documents/PCoIPSoftClientSDK/Examples/broker_client_example/bin
- Install the latest PCoIP Software Client. For more information see the topic "Installing the PCoIP Software Client for macOS" in the Administrators Guide.
- Download the latest MacOS SDK.
- To install the SDK, open the
.dmg
file, and drag thePCoIPSoftClientSDK
folder to your Documents folder (or another location of your preference). - Open the
login_info.txt
file. - Add the remote PCoIP agent credentials in the format "FQDN domain username password hostname", where,
- `FQDN`: The address of an HP Anyware broker.
- `domain`: The domain that the host machine is on.
- `username`: The username of the account you are connecting to.
- `password`: The plain text password of the account you are connecting to. The password cannot contain spaces.
Example:
desktop.example.com adomain.local foouser barpassword bazmacpro01
- Launch the example from a Terminal session:
cd ~/Documents/PCoIPSoftClientSDK/Examples/broker_client_example/bin/broker_client_example.app/Contents/MacOS killall PCoIPClient ./broker_client_example -l -i ~/Documents/PCoIPSoftClientSDK/Examples/broker_client_example/bin/login_info.txt
Running the Prebuilt AWS Example Binary¶
This topics contains instructions for running the AWS example binary that is packaged along with the Client SDK. The example uses credentials that you provide to first establish a PCoIP session and then launch the PCoIP Software Client. The PCoIP Software Client thus launched, then connects to the remote agent.
Location of the login_info_aws File
The login_info_aws.txt
file can be found in the following location: ~/Documents/PCoIPSoftClientSDK/Examples/broker_client_example/bin
- Install the latest PCoIP Software Client.. For more information see topic "Installing the PCoIP Software Client for macOS" in the Administrators Guide.
- Download the latest MacOS SDK.
- To install the SDK, open the
.dmg
file, and drag thePCoIPSoftClientSDK
folder to your Documents folder (or another location of your preference). - Open the
login_info_aws.txt
file. - Add the remote Amazon WorkSpace credentials in the format "aws_registration_code domain username password token_or_password resource_name", where,
- `aws_registration_code`: The registration code for Amazon WorkSpace.
- `domain`: The domain that the host machine is on.
- `username`: The username of the account you are connecting to.
- `password`: The plain text password of the account you are connecting to. The password cannot contain spaces.
- `token_or_password`: The authentication token or password.
- `resource_name`: The name of the resource to connect to.
Example:
eNgrTX$xa adomain.local foouser barpassword 75539285075371469148082720109113041434163396974558736008282251461494906419802726 aws57864x1
- Launch the example from a Terminal session:
cd ~/Documents/PCoIPSoftClientSDK/Examples/broker_client_example/bin/broker_client_example_aws.app/Contents/MacOS killall PCoIPClient ./broker_client_example_aws -l -i ~/Documents/PCoIPSoftClientSDK/Examples/broker_client_example/bin/login_info_aws.txt