Skip to main content
Marcas que controlan el intento de uso de la conectividad directa de punto a punto entre los dispositivos de una red.

Sintaxis

Constantes

Comentarios

Como parte de la autenticación correcta de un usuario inicial en una red, un dispositivo puede intentar establecer conexiones directas de punto a punto con otros dispositivos que ya participan en la red, cuando lo permitan estas marcas declaradas en la estructura PartyNetworkConfiguration de la red. En los intentos que tengan éxito, los mensajes de punto de conexión y los datos de chat entre los dispositivos se transmitirán mediante esas conexiones directas. En los intentos que fallen debido a incompatibilidades del entorno entre los dispositivos, toda la comunicación entre esos dispositivos se transmitirá en su lugar a través de servidores de retransmisión transparentes en la nube. Si estas marcas no permiten que los dispositivos intenten conexiones directas entre pares, nunca intercambiarán información de direcciones IP y siempre transmitirán los mensajes de punto de conexión y los datos de chat a través de servidores de retransmisión transparentes en la nube.

Puede determinar si el dispositivo local estableció realmente una conexión directa de punto a punto con un dispositivo remoto específico llamando a PartyNetwork::GetDeviceConnectionType().

Una conectividad directa entre pares correcta puede proporcionar una latencia menor entre algunos dispositivos, aunque intentar establecerla también requiere que los usuarios revelen las direcciones IP de sus dispositivos a otros, lo que puede ser un problema de privacidad o permitir que usuarios malintencionados ataquen potencialmente los dispositivos y las conexiones a Internet de otros usuarios fuera del título. También puede no estar permitida en determinadas plataformas por motivos de directivas. Asegúrese de usar las marcas adecuadas para sus objetivos de rendimiento y seguridad.

Además del valor de PartyNetworkConfiguration::directPeerConnectivityOptions de una red específica, un dispositivo puede restringir aún más de forma opcional las marcas para todas las redes en las que se autentique usando PartyManager::SetOption() para establecer PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask. Todas las marcas se evalúan mediante una operación AND bit a bit. Es decir, una marca determinada solo está en vigor para un par de dispositivos de una red concreta si está habilitada en tres lugares: la estructura PartyNetworkConfiguration de la red y las opciones de máscara local respectivas de ambos dispositivos. Aunque la red de Party permita la conectividad directa entre pares de la forma correspondiente, cualquiera de los dispositivos puede excluirse unilateralmente de la divulgación de la dirección IP y de los intentos de conexión directa entre ellos si no habilita la marca. El valor de PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask permite de manera predeterminada todas las conexiones directas entre pares habilitadas por las redes, por lo que solo necesita configurarlo si tiene requisitos específicos del dispositivo para impedir parte o la totalidad de la conectividad directa entre pares que lo implique.

Para evitar un consumo excesivo de recursos, la biblioteca de Party también impedirá internamente que un dispositivo determinado intente establecer más de un número máximo configurado de conexiones directas entre pares en todas las redes en las que participa actualmente, incluso si estas marcas lo permiten. Esto no afecta a la capacidad del dispositivo de participar en redes grandes o múltiples con más dispositivos remotos. La comunicación con los dispositivos adicionales simplemente se transmitirá a través de servidores de retransmisión transparentes en la nube. Para modificar ese número máximo de conexiones directas entre pares, use PartyManager::SetOption() para establecer PartyOption::LocalDeviceMaxDirectPeerConnections.

Se recomienda no exigir activamente la disponibilidad de una conexión directa de punto a punto para un par de dispositivos determinado (es decir, no llame a PartyNetwork::LeaveNetwork() si PartyNetwork::GetDeviceConnectionType() notifica un valor distinto de PartyDeviceConnectionType::DirectPeerConnection), ya que el método de transmisión subyacente específico en uso no altera la capacidad lógica general de comunicarse. Si el diseño de su juego tiene requisitos estrictos de latencia máxima de mensajes que favorecen la conectividad directa entre pares, es mejor actuar en función de las observaciones concretas actuales de esa latencia, notificadas por la estadística PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds, en lugar de hacer suposiciones abstractas basadas en el mecanismo de transmisión. De lo contrario, podría perjudicar continuamente a los usuarios que intentan jugar con el mismo grupo de amigos y que siempre necesitan usar servidores de retransmisión transparentes en la nube cercanos debido a factores del entorno fuera de su control.

Requisitos

Encabezado: Party.h

Consulte también

Miembros de Party
PartyNetworkConfiguration
PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask
PartyManager::SetOption
PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds
PartyLocalEndpoint::GetEndpointStatistics
Última modificación el 28 de agosto de 2026