Как отличить хост от клиента в iPhone блютус с помощью GameKit

StackOverflow https://stackoverflow.com/questions/1038192

Вопрос

Я создал многопользовательскую игру с использованием GameKit Framework, в которой 2 iPhone / iPod могут подключаться друг к другу через Bluetooth и играть.

Я думаю о том, как выбрать устройство, которое сможет воспроизводиться первым. Таким образом, логическое решение состоит в том, чтобы выбрать хост соединения. Есть ли в GKSession даже сервер и клиент? Они все равны? Какой маршрут мне выбрать, чтобы достичь того, что мне нужно?

Это было полезно?

Решение

По сути, вы можете настроить сеанс так, как вам нравится.

Из документации Apple:

  

Сессии обнаруживают других пиров на   сеть на основе режима сеанса, который   устанавливается, когда сеанс   инициализируется. Ваше приложение может   настроить сессию как сервер,   который рекламирует тип услуги на   сеть; клиент, который ищет   рекламные серверы; или сверстник, который   рекламирует как сервер и ищет   как клиент одновременно.

     

копия вашего заявления, действующая как   сервер инициализирует сеанс   призвание   initWithSessionID: отображаемое_имя SessionMode:   с режимом сеанса либо   GKSessionModeServer или   GKSessionModePeer. После   приложение настраивает сеанс, оно   рекламирует сервис, установив   Свойство сеанса isAvailable для YES.

     

копия вашего заявления, действующая как   клиент инициализирует сессию   призвание   initWithSessionID: отображаемое_имя SessionMode:   с режимом сеанса либо   GKSessionModeClient или   GKSessionModePeer. После настройки   сеанс, ваше приложение ищет   сеть для рекламных серверов   настройка сеанса isAvailable   собственность к ДА. Если сессия   настроен с помощью GKSessionModePeer   Режим сеанса также рекламирует себя   как сервер, как описано выше.

Поэтому, если вы используете GKSessionModePeer для инициализации сеанса, у вас есть одноранговые узлы (действующие как сервер и клиент). Если вы хотите отличить сервер от его клиентов, инициализируйте его с помощью GKSessionModeServer.

С уважением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top