Skip to content

Overview of the PCoIP Virtual Channel

The PCoIP Virtual Channel Software Development Kit (SDK) enables developers to build custom PCoIP Virtual Channel plug-ins for PCoIP sessions. You can implement PCoIP Virtual Channel functionality as a plug-in to send encrypted data between servers and client endpoints during an active PCoIP session.

The PCoIP Virtual Channel Application Programming Interface (API) is available as an optional add-on to solution developers who want to extend the types of traffic flowing through the PCoIP session, such as clipboard redirection, local printing, and custom device support.

About the PCoIP Virtual Channel API/SDK

Solution developers can write plug-ins that stream data between the agent and the client using a secure PCoIP session. For example, the PCoIP copy-and-paste function uses a virtual channel to transport clipboard data between a remote desktop client and the clipboard on a local PC, as shown next.

An example use case of the PCoIP Virtual Channel alt text

Virtual channel traffic travels over the PCoIP session and is therefore secure since it is encrypted and authenticated like other PCoIP traffic.

The virtual channel does not set up a new socket or port number and the channel can be opened and closed dynamically.

Both reliable and unreliable transport options are available. If PCoIP Virtual Channel traffic can be compressed and still meet WAN criteria, the API will automatically apply lossless compression. The API periodically checks if traffic can be compressed. Plug-ins can explicitly disable compression.

During the session, the PCoIP Virtual Channel API works to:

  • Transfer data in either direction using streaming or datagram transfers.
  • Receive notifications of relevant events via callbacks.
  • Log messages in the standard PCoIP session logs.

This SDK includes sample plug-ins which demonstrate how to implement plug-ins and use the PCoIP Virtual Channel API. These sample plug-ins use the PCoIP Virtual Channel API to transfer data between client and server endpoints:

  • plugin_vchan_sample_stream uses the reliable PCoIP Virtual Channel streaming data API.
  • plugin_vchan_sample_dgram uses the reliable PCoIP Virtual Channel datagram API.
  • plugin_vchan_sample_u_echo uses the unreliable PCoIP Virtual Channel API to send unreliable datagrams in parallel with the reliable data transfer.