Canales de datos personalizados con la comunicación remota holográfica y la API de OpenXR

Nota

Esta guía es específica de la comunicación remota holográfica en HoloLens 2 y Windows equipos que ejecutan Windows Mixed Reality.

Use canales de datos personalizados para enviar datos personalizados a través de una conexión remota establecida.

Importante

Los canales de datos personalizados requieren una aplicación remota personalizada y una aplicación de reproductor personalizado. Esto permite la comunicación entre las dos aplicaciones personalizadas.

Sugerencia

Puede encontrar un ejemplo sencillo de ping-ping-ping en los ejemplos remotos y de reproductor dentro del repositorio de github de ejemplos de Holographic Remoting. Descomprima #define ENABLE_CUSTOM_DATA_CHANNEL_SAMPLE los archivos OpenXrProgramm.cpp y SamplePlayerMain.h para habilitar el código de ejemplo.

Importante

La especificación detallada se puede encontrar en el repositorio de github de ejemplos de Holographic Remoting.

Creación de un canal de datos personalizado

Una vez establecida correctamente una conexión, se pueden crear nuevos canales de datos a través de la xrCreateRemotingDataChannelMSFT función . Los canales de datos personalizados se pueden crear desde el reproductor y la aplicación remota incluso si los tiempos de ejecución son diferentes. Si el lado del reproductor crea un canal de datos, se notifica al lado remoto con la estructura XrEventDataRemotingDataChannelCreatedMSFT de eventos.

El estado XrRemotingDataChannelStatusMSFT inicial después de llamar a es xrCreateRemotingDataChannelMSFTXR_REMOTING_DATA_CHANNEL_STATUS_OPEN_PENDING_MSFT . Una vez que el canal de datos se ha establecido completamente, el estado del canal cambia a XR_REMOTING_DATA_CHANNEL_STATUS_OPENED_MSFT . La estructura de eventos se coloca en la cola de eventos cuando el estado de un canal de datos creado previamente XrEventDataRemotingDataChannelOpenedMSFT cambia de XR_REMOTING_DATA_CHANNEL_STATUS_OPEN_PENDING_MSFT a XR_REMOTING_DATA_CHANNEL_STATUS_OPENED_MSFT .

Enviar datos

La xrSendRemotingDataMSFT función se usa para enviar datos al lado del reproductor.

Recuperar datos

Cada vez que llegan datos a través de un canal de datos, se coloca una XrEventDataRemotingDataChannelDataReceivedMSFT estructura de eventos en la cola de eventos. Los paquetes recibidos se pueden recuperar con la xrRetrieveRemotingDataMSFT función .

Obtener el estado del canal

La xrGetRemotingDataChannelStateMSFT función se puede usar para consultar el estado del canal de datos.

Destruir un canal de datos

Puede destruir un canal de datos con xrDestroyRemotingDataChannelMSFT . El identificador no es válido después de la llamada y el identificador del canal de datos XrRemotingDataChannelMSFT no se debe usar xrDestroyRemotingDataChannelMSFT posteriormente.

se XrEventDataRemotingDataChannelClosedMSFT colocará en la cola de eventos en caso de que el lado del reproductor cierre o destruya el canal de datos. El estado del canal de datos cambia a XR_REMOTING_DATA_CHANNEL_STATUS_CLOSED_MSFT . Para un canal de datos cerrado, el XrRemotingDataChannelMSFT identificador sigue siendo válido.

Consulte también