> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PartyDirectPeerConnectivityOptions

> Indicateurs contrôlant les tentatives d'utilisation de la connectivité pair à pair directe entre les appareils d'un réseau.

Indicateurs contrôlant les tentatives d'utilisation de la connectivité pair à pair directe entre les appareils d'un réseau.

## Syntaxe

```cpp theme={null}
enum class PartyDirectPeerConnectivityOptions  : int32_t  
{  
    None = 0x0,  
    SamePlatformType = 0x1,  
    DifferentPlatformType = 0x2,  
    AnyPlatformType = SamePlatformType | DifferentPlatformType,  
    SameEntityLoginProvider = 0x4,  
    DifferentEntityLoginProvider = 0x8,  
    AnyEntityLoginProvider = SameEntityLoginProvider | DifferentEntityLoginProvider,  
    OnlyServers = 0x10,  
}  
```

## Constantes

| Constante | Description | |
| - | - | - |
| None | Aucun indicateur n'est spécifié.  L'absence d'indicateurs signifie qu'aucune tentative de connectivité directe entre pairs n'est autorisée. Tous les messages de points de terminaison et toutes les données de clavardage entre appareils sont toujours transmis au moyen de serveurs de relais infonuagique transparents, et aucune information d'adresse IP n'est jamais échangée. | |
| SamePlatformType | Des connexions pair à pair directes peuvent être tentées entre des appareils du même type de plateforme.  Une paire d'appareils tente d'établir des connexions pair à pair directes si les appareils sont identifiés comme ayant le même type de matériel et/ou de plateforme de système d'exploitation (par exemple, PC Windows, consoles de jeu XBOX, appareils mobiles iOS) associé à la bibliothèque Party spécifique qu'ils utilisent.   Notez que cet indicateur n'autorise à lui seul aucune tentative de connectivité pair à pair directe. Il doit être combiné avec l'un des indicateurs `SameEntityLoginProvider` et `DifferentEntityLoginProvider`, ou les deux.     Cet indicateur ne peut pas être combiné avec l'indicateur `OnlyServers` dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md). Il peut être combiné avec `OnlyServers` dans la valeur [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md). | |
| DifferentPlatformType | Des connexions pair à pair directes peuvent être tentées entre des appareils de types de plateformes différents.  Une paire d'appareils tente d'établir des connexions pair à pair directes si les appareils sont identifiés comme ayant des types de matériel et/ou de plateformes de système d'exploitation différents (par exemple, PC Windows, consoles de jeu XBOX, appareils mobiles iOS) associés aux bibliothèques Party spécifiques utilisées par chaque appareil.   Notez que cet indicateur n'autorise à lui seul aucune tentative de connectivité pair à pair directe. Il doit être combiné avec l'un des indicateurs `SameEntityLoginProvider` et `DifferentEntityLoginProvider`, ou les deux.     Cet indicateur ne peut pas être combiné avec l'indicateur `OnlyServers` dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md). Il peut être combiné avec `OnlyServers` dans la valeur [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md). | |
| AnyPlatformType | Des connexions pair à pair directes peuvent être tentées entre des appareils, quels que soient leurs types de plateformes.  Cet indicateur équivaut à \`\`\`SamePlatformType | DifferentPlatformType\`\`\`. |
| SameEntityLoginProvider | Des connexions pair à pair directes peuvent être tentées entre des appareils ayant des ID d'entité PlayFab d'utilisateurs authentifiés connectés à l'aide du même fournisseur.  Un appareil qui authentifie initialement un utilisateur local dans le réseau tente d'établir des connexions pair à pair directes avec les appareils distants ayant au moins un ID d'entité PlayFab d'utilisateur authentifié connecté à l'aide du même fournisseur (par exemple, XBOX Live, Facebook, iOS, Google) que l'utilisateur en cours d'authentification.   Notez que cet indicateur n'autorise à lui seul aucune tentative de connectivité pair à pair directe. Il doit être combiné avec l'un des indicateurs `SamePlatformType` et `DifferentPlatformType`, ou les deux.     Cet indicateur ne peut pas être combiné avec l'indicateur `OnlyServers` dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md). Il peut être combiné avec `OnlyServers` dans la valeur [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md).   | |
| DifferentEntityLoginProvider | Des connexions pair à pair directes peuvent être tentées entre des appareils ayant des ID d'entité PlayFab d'utilisateurs authentifiés connectés à l'aide de fournisseurs différents.  Un appareil qui authentifie initialement un utilisateur local dans le réseau tente d'établir des connexions pair à pair directes avec les appareils distants qui n'ont aucun ID d'entité PlayFab d'utilisateur authentifié connecté à l'aide du même fournisseur (par exemple, XBOX Live, Facebook, iOS, Google) que l'utilisateur en cours d'authentification.   Notez que cet indicateur n'autorise à lui seul aucune tentative de connectivité pair à pair directe. Il doit être combiné avec l'un des indicateurs `SamePlatformType` et `DifferentPlatformType`, ou les deux.     Cet indicateur ne peut pas être combiné avec l'indicateur `OnlyServers` dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md). Il peut être combiné avec `OnlyServers` dans la valeur [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md). | |
| AnyEntityLoginProvider | Des connexions pair à pair directes peuvent être tentées entre des appareils, quel que soit le fournisseur utilisé pour connecter les ID d'entité PlayFab des utilisateurs authentifiés.  Cet indicateur équivaut à \`\`\`SameEntityLoginProvider | DifferentEntityLoginProvider\`\`\`. |
| OnlyServers | Des connexions pair à pair directes peuvent être tentées entre des appareils si au moins l'un d'eux a un utilisateur authentifié dont le type d'entité PlayFab est `game_server`.  Un appareil qui authentifie initialement un utilisateur local dans le réseau tente d'établir des connexions pair à pair directes avec des appareils distants si l'utilisateur local ou un utilisateur de l'appareil distant est de type d'entité PlayFab `game_server`, tel que spécifié à [PartyManager::CreateLocalUserWithEntityType()](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createlocaluserwithentitytype.md). Autrement dit, les appareils des joueurs ne se connectent jamais directement entre eux, mais uniquement aux appareils serveurs. Les appareils serveurs tentent de se connecter directement à tous les appareils des joueurs et aux autres appareils serveurs.   Cet indicateur ne peut être combiné avec aucun des indicateurs `SamePlatformType`, `DifferentPlatformType`, `SameEntityLoginProvider` ou `DifferentEntityLoginProvider` dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md). Il peut être combiné avec ces indicateurs dans la valeur [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md). | |

## Remarques

Dans le cadre de l'authentification réussie d'un premier utilisateur dans un réseau, un appareil peut tenter d'établir des connexions pair à pair directes avec d'autres appareils participant déjà au réseau, lorsque ces indicateurs déclarés dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md) du réseau le permettent. Pour les tentatives réussies, les messages de points de terminaison et les données de clavardage entre les appareils sont transmis au moyen de ces connexions directes. Pour les tentatives qui échouent en raison d'incompatibilités environnementales entre les appareils, toutes les communications entre ces appareils sont transmises au moyen de serveurs de relais infonuagique transparents. Si ces indicateurs n'autorisent pas les appareils à tenter des connexions directes entre pairs, ceux-ci n'échangent jamais d'informations d'adresse IP et transmettent toujours les messages de points de terminaison et les données de clavardage au moyen de serveurs de relais infonuagique transparents. \
\
&#x20;Vous pouvez déterminer si l'appareil local a effectivement établi une connexion pair à pair directe avec un appareil distant spécifique en appelant [PartyNetwork::GetDeviceConnectionType()](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getdeviceconnectiontype.md).   \
\
&#x20;Une connectivité directe entre pairs réussie peut offrir une latence plus faible entre certains appareils; toutefois, tenter de l'établir oblige également les utilisateurs à divulguer les adresses IP de leurs appareils à d'autres, ce qui peut poser un problème de confidentialité ou permettre à des utilisateurs malveillants d'attaquer les appareils et les connexions Internet de leurs pairs en dehors du titre. Elle peut également ne pas être autorisée sur certaines plateformes pour des raisons de stratégie. Assurez-vous d'utiliser les indicateurs adaptés à vos objectifs de performances et de sécurité.   \
\
&#x20;Outre la valeur [PartyNetworkConfiguration::directPeerConnectivityOptions](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md) d'un réseau spécifique, les indicateurs peuvent éventuellement être limités davantage par un appareil pour tous les réseaux dans lesquels il s'authentifie, en utilisant [PartyManager::SetOption()](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption.md) pour définir [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md). Tous les indicateurs sont évalués à l'aide d'une opération AND au niveau du bit. Autrement dit, un indicateur particulier n'est effectif pour une paire d'appareils d'un réseau donné que s'il est activé à trois endroits : dans la structure [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md) du réseau et dans les options de masque local respectives des *deux* appareils. Même si le réseau Party autorise la forme de connectivité directe entre pairs concernée, chacun des deux appareils peut refuser unilatéralement la divulgation d'adresse IP et les tentatives de connexion directe entre eux en n'activant pas l'indicateur. La valeur [PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md) autorise par défaut toutes les connexions directes entre pairs activées par les réseaux; vous n'avez donc besoin de la configurer que si vous avez des exigences propres à l'appareil visant à empêcher tout ou partie de la connectivité directe entre pairs le concernant.   \
\
&#x20;Pour éviter une consommation excessive de ressources, la bibliothèque Party empêche également en interne tout appareil de tenter d'établir plus qu'un nombre maximal configuré de connexions directes entre pairs sur l'ensemble des réseaux auxquels il participe actuellement, même si ces indicateurs le permettent. Cela n'affecte pas la capacité de l'appareil à participer à de grands réseaux ou à plusieurs réseaux comportant davantage d'appareils distants. La communication avec les appareils supplémentaires est simplement transmise au moyen de serveurs de relais infonuagique transparents. Pour modifier ce nombre maximal de connexions directes entre pairs, utilisez [PartyManager::SetOption()](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption.md) pour définir [PartyOption::LocalDeviceMaxDirectPeerConnections](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md).   \
\
&#x20;Il est recommandé de ne pas imposer activement la disponibilité d'une connexion pair à pair directe pour une paire d'appareils donnée (c'est-à-dire de ne pas appeler [PartyNetwork::LeaveNetwork()](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_leavenetwork.md) si [PartyNetwork::GetDeviceConnectionType()](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getdeviceconnectiontype.md) signale une valeur autre que [PartyDeviceConnectionType::DirectPeerConnection](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partydeviceconnectiontype.md)), car la méthode de transmission sous-jacente utilisée ne modifie pas la capacité logique globale de communication. Si la conception de votre jeu impose des exigences strictes de latence maximale des messages qui favorisent la connectivité directe entre pairs, il est préférable d'agir en fonction des observations concrètes actuelles de cette latence, telles que rapportées par la statistique [PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyendpointstatistic.md), plutôt que de faire des hypothèses abstraites basées sur le mécanisme de transmission. Sinon, vous risquez de gêner continuellement des utilisateurs qui essaient de jouer avec le même groupe d'amis et qui doivent toujours utiliser des serveurs de relais infonuagique transparents proches en raison de facteurs environnementaux indépendants de leur volonté.

## Configuration requise

**En-tête :** Party.h

## Voir aussi

[Membres de Party](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/party_members.md)\
[PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md)\
[PartyOption::LocalDeviceDirectPeerConnectivityOptionsMask](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md)\
[PartyManager::SetOption](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption.md)\
[PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyendpointstatistic.md)\
[PartyLocalEndpoint::GetEndpointStatistics](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics.md)


## Related topics

- [PartyOption](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/enums/partyoption.md)
- [PartyNetworkConfiguration](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/structs/partynetworkconfiguration.md)
- [Notes de version de PlayFab Party](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/release-notes.md)
- [Vue d'ensemble de l'API C/C++ de Party](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/reference/party_members.md)
- [DirectPeerConnectivityOptions](https://docs.xbox.com/fr-CA/services/playfab/multiplayer/networking/unity-party-api-reference/enums/partyunitydirectpeerconnectivityoptions.md)
