Question

J'ai créé un jeu multijoueur à l'aide de la structure GameKit, qui permet à deux iPhones / iPod de se connecter via Bluetooth et de jouer.

Je réfléchis à un moyen de choisir quel appareil pourra jouer en premier. La solution logique est donc de choisir l'hôte de la connexion. Y a-t-il même un serveur et un client dans GKSession? Sont-ils tous des pairs? Quelle route dois-je emprunter pour obtenir ce dont j'ai besoin?

Était-ce utile?

La solution

En gros, il vous appartient de configurer votre session à votre guise.

Dans la documentation Apple:

  

Les sessions découvrent d’autres pairs sur le   réseau basé sur un mode de session qui   est défini lorsque la session est   initialisé. Votre application peut   configurer la session pour être un serveur,   qui annonce un type de service sur le   réseau; un client qui recherche   serveurs de publicité; ou un pair, qui   annonce comme un serveur et recherche   comme un client simultanément.

     

Une copie de votre demande faisant office de   Le serveur initialise la session en   appel   initWithSessionID: displayName: sessionMode:   avec un mode de session soit   GKSessionModeServer ou   GKSessionModePeer. Après le   l’application configure la session, elle   annonce le service en définissant la   La propriété isAvailable de la session est associée à YES.

     

Une copie de votre demande faisant office de   le client initialise la session en   appel   initWithSessionID: displayName: sessionMode:   avec un mode de session soit   GKSessionModeClient ou   GKSessionModePeer. Après avoir configuré   la session, votre application cherche   le réseau pour les serveurs de publicité par   réglage de la session est disponible   propriété à OUI. Si la session est   configuré avec le GKSessionModePeer   mode de session, il se annonce aussi   en tant que serveur, comme décrit ci-dessus.

Par conséquent, si vous utilisez GKSessionModePeer pour initialiser la session, vous avez des pairs (agissant à la fois en tant que serveur et client). Si vous souhaitez distinguer un serveur de ses clients, initialisez-le avec GKSessionModeServer.

Cordialement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top