Wie der Host vom Client in iPhone sagen, bluetooth mit GameKit
-
10-07-2019 - |
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?
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.