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

# Réseaux PlayFab Party et flux de découverte de réseau

> Guide conceptuel de la découverte de réseau dans PlayFab Party : comment les joueurs trouvent les réseaux de clavardage et de données Party de votre jeu multijoueur, s'y invitent et s'y connectent.

# Intégration de la découverte avec PlayFab Party

La découverte est le processus par lequel les utilisateurs se trouvent pour jouer ensemble. PlayFab Party ne fournit pas de mécanisme de découverte, mais peut être utilisé avec n'importe quel mécanisme existant assurant la communication entre utilisateurs.

## Flux de base de création et de jonction

Un réseau PlayFab Party est [créé](#creating-a-network) par un utilisateur sur un client, [annoncé](#advertising-a-network), puis [rejoint](#joining-a-network) par d'autres utilisateurs sur différents clients.

<a id="creating-a-network" />

### Création d'un réseau

La première considération lors de l'utilisation d'un réseau PlayFab Party avec une session de jeu consiste à choisir le client et l'utilisateur qui créeront le réseau (`PartyManager::CreateNewNetwork()`). Du point de vue de PlayFab Party, peu importe l'utilisateur qui s'en charge; n'importe quel utilisateur peut créer un réseau. Le créateur ne reçoit aucun privilège particulier au sein du réseau. Cependant, le client qui crée le réseau est chargé de :

* définir la configuration réseau immuable (`PartyNetworkConfiguration`)
* déterminer l'invitation initiale (`PartyInvitationConfiguration`)
* annoncer le réseau aux autres utilisateurs

L'invitation initiale contient un identificateur et une liste d'utilisateurs autorisés à rejoindre le réseau. Les utilisateurs sont spécifiés sous la forme d'une liste d'[ID d'entité](/fr-CA/services/playfab/live-service-management/game-configuration/entities) `title_player_account`. La liste peut également être vide, ce qui permet à tout utilisateur disposant du descripteur de réseau et de l'identificateur d'invitation de rejoindre le réseau.

<a id="advertising-a-network" />

### Annonce d'un réseau

Pour rejoindre un réseau PlayFab Party existant, un client a besoin de deux informations :

* le descripteur de réseau
* l'identificateur d'invitation

Un réseau PlayFab Party est identifié par un descripteur de réseau (`PartyNetworkDescriptor`). Il s'agit d'une structure en grande partie opaque qui encode les informations nécessaires pour établir une connexion au réseau. Le descripteur de réseau est fourni au client créateur une fois la création du réseau terminée (`PartyCreateNewNetworkCompletedStateChange`, `PartyNetwork::GetNetworkDescriptor()`). Pour faciliter le développement, PlayFab Party fournit des méthodes pour sérialiser et désérialiser le descripteur de réseau vers et depuis une chaîne adaptée au web (`PartyManager::SerializeNetworkDescriptor(), PartyManager::DeserializeNetworkDescriptor()`).

Un identificateur d'invitation est une chaîne qui identifie une invitation de façon unique. Il est fourni par un client lors de la création explicite d'une invitation, ou lors de la création de l'invitation initiale au moment de la création du réseau. Si le client ne fournit pas d'identificateur d'invitation, un identificateur unique est généré.

Pour annoncer le nouveau réseau aux autres utilisateurs, envoyez ces deux informations au moyen de n'importe quel moyen de communication approprié.

<a id="joining-a-network" />

### Rejoindre un réseau

Rejoindre un réseau est un processus en deux étapes. Un client qui souhaite rejoindre un réseau doit d'abord se connecter au réseau en fournissant le descripteur de réseau désérialisé à `PartyManager::ConnectToNetwork()`, puis authentifier un utilisateur en fournissant l'identificateur d'invitation à `PartyNetwork::AuthenticateLocalUser()`.

## Exemples de scénarios

### Invitations sociales

Le scénario le plus simple est celui dans lequel un seul utilisateur crée une session de jeu et souhaite inviter d'autres utilisateurs connus au moyen de leur plateforme sociale commune. Le flux peut ressembler à ceci :

* L'inviteur crée le réseau avec une invitation ouverte, ou une invitation contenant tous les utilisateurs avec lesquels il souhaite jouer.
* Une fois le réseau créé, l'inviteur envoie le descripteur de réseau et l'identificateur d'invitation aux autres utilisateurs au moyen du mécanisme d'invitation de la plateforme sociale.
* Chaque utilisateur invité utilise le descripteur de réseau et l'identificateur d'invitation pour se connecter au réseau.

<Note>
  Lorsque vous spécifiez des utilisateurs dans une invitation, les [ID d'entité](/fr-CA/services/playfab/live-service-management/game-configuration/entities) `title_player_account` des utilisateurs sont utilisés. Ces ID d'entité doivent être obtenus en dehors de PlayFab Party.
</Note>

### Lobby

Si votre jeu fournit un lobby permettant d'envoyer des données entre les clients, celui-ci peut servir de moyen de communication pour échanger les informations de connexion réseau. Le flux peut ressembler à ceci :

* Un ensemble d'utilisateurs est sélectionné pour jouer ensemble.
* L'un de ces utilisateurs est désigné comme créateur.
* Chaque utilisateur de l'ensemble envoie son [ID d'entité](/fr-CA/services/playfab/live-service-management/game-configuration/entities) `title_player_account` au créateur.
* Le créateur crée le réseau en spécifiant les ID d'entité des utilisateurs dans la configuration de l'invitation initiale.
* Une fois la création du réseau terminée, le créateur envoie le descripteur de réseau et l'identificateur de l'invitation initiale à l'ensemble des utilisateurs qui doivent rejoindre le réseau.
* Chaque utilisateur utilise le descripteur de réseau et l'identificateur d'invitation pour se connecter au réseau.

### Matchmaking

Un service de matchmaking, tel que [PlayFab Matchmaking](/fr-CA/services/playfab/live-service-management/game-configuration/entities), peut être utilisé pour trouver une liste d'utilisateurs avec lesquels jouer. Le flux peut ressembler à ceci :

* Les utilisateurs lancent une demande de correspondance auprès du service. L'[ID d'entité](/fr-CA/services/playfab/live-service-management/game-configuration/entities) `title_player_account` doit faire partie de la demande, car le résultat de la correspondance doit contenir l'ID d'entité de chaque utilisateur.
* Les utilisateurs reçoivent un résultat de correspondance contenant l'ensemble des utilisateurs qui doivent faire partie du réseau.
* Un algorithme prédéterminé est utilisé pour sélectionner l'utilisateur qui sera le créateur.
* Le créateur crée le réseau en spécifiant les ID d'entité des autres utilisateurs mis en correspondance dans la configuration de l'invitation initiale.
* Une fois la création du réseau terminée, le créateur utilise un moyen de communication externe pour envoyer le descripteur de réseau et l'identificateur de l'invitation initiale aux autres utilisateurs mis en correspondance.
* Chaque utilisateur mis en correspondance utilise le descripteur de réseau et l'identificateur d'invitation pour se connecter au réseau.

<Note>
  Un moyen de communication externe est nécessaire pour envoyer les informations de connexion du créateur aux autres utilisateurs mis en correspondance.
</Note>


## Related topics

- [Utilisation de plusieurs réseaux PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/concepts-multiple-networks.md)
- [Exigences XBOX](/fr-CA/services/playfab/multiplayer/networking/xbox-requirements.md)
- [Invitations PlayFab Party et modèle de sécurité](/fr-CA/services/playfab/multiplayer/networking/concepts-invitations-security-model.md)
- [Démarrage rapide de Party](/fr-CA/services/playfab/multiplayer/networking/quickstart.md)
- [Fonctionnalités de PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/party-features.md)
