Frage

Ich habe ein Multiplayer-Spiel mit dem GameKit Rahmen gemacht, wo 2 iPhones / iPods miteinander über Bluetooth verbinden und spielen kann.

ich von einer Art und Weise denke zu entscheiden, welche Vorrichtung in der Lage sein wird, zuerst zu spielen. So ist die logische Lösung ist, die Host der Verbindung zu wählen. Gibt es auch einen Server und ein Client in der GKSession? Sind sie alle Peers? Welcher Weg soll ich nehmen zu erreichen, was ich brauche?

War es hilfreich?

Lösung

Im Grunde ist es an Ihnen, Ihre Sitzung zu konfigurieren, wie Sie möchten.

Von der Apple-Dokumentation:

  

Sessions entdecken andere Peers auf die   Netzwerk basiert auf einem Session-Modus die   gesetzt wird, wenn die Sitzung   initialisiert. Ihre Anwendung kann   Konfigurieren Sie die Sitzung ein Server zu sein,   die bewirbt einen Diensttyp auf der   Netzwerk; ein Client, der für sucht   Werbe-Server; oder ein Peer, der   wirbt wie ein Server und sucht   wie ein Client gleichzeitig.

     

Eine Kopie Ihrer Anwendung als ein Handeln   Server initialisiert die Sitzung   Berufung   initWithSessionID: display: Session:   mit einem Sitzungsmodus von entweder   GKSessionModeServer oder   GKSessionModePeer. Nach dem   Anwendung konfiguriert die Sitzung, es   bewirbt den Dienst nach der Einstellung   Sitzung der isAvailable Eigenschaft auf Ja.

     

Eine Kopie Ihrer Anwendung als ein Handeln   Client initialisiert die Sitzung   Berufung   initWithSessionID: display: Session:   mit einem Sitzungsmodus von entweder   GKSessionModeClient oder   GKSessionModePeer. nach der Konfiguration   die Sitzung, Ihre Anwendung sucht   das Netzwerk für Werbeserver durch   Einstellen der isAvailable Sitzung   Eigenschaft auf JA. Wenn die Sitzung   konfiguriert, um mit dem GKSessionModePeer   Session-Modus es bewirbt sich auch   als Server, wie oben beschrieben.

Wenn Sie also GKSessionModePeer verwenden, um die Sitzung zu initialisieren, müssen Sie Peers (sowohl als Server und Client fungiert). Wenn Sie einen Server von den Clients unterscheiden wollen, initialisieren es mit GKSessionModeServer.

Mit freundlichen Grüßen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top