iPhone p2p - Существует ли способ соединиться больше чем с 1 устройством?

Попробуйте обернуть изображение линейным макетом и установите его цвет фона в соответствии с желаемым цветом вокруг текста. Затем установите отступ для текстового представления так, чтобы он соответствовал толщине вашей границы.

11
задан lostInTransit 5 July 2009 в 13:31
поделиться

3 ответа

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

К сожалению, вы не сможет использовать стандартное средство выбора пользовательского интерфейса GKPeerPickerController для настройки экземпляра GKSession для вас, если вы хотите поддерживать более 2 устройств. Вместо этого вы должны разработать свои собственные элементы пользовательского интерфейса для установки и настройки соединений между главным / сервером и несколькими клиентами.

Вот простой способ включить GameKit для более чем 2 устройств:

Когда вы инициализируете экземпляр GKSession с initWithSessionID: displayName: sessionMode , используйте:

  • sessionMode: GKSessionModeServer для сервера / главного
  • sessionMode: GKSessionModeClient для других (нескольких) клиентов

sessionMode: GKSessionModePeer - это третий доступный параметр, который используется в большинстве примеров кода, предоставленных Apple, таких как демонстрация GKTank.

Примечание. возможно, вы используете GKSessionModePeer и все еще имеете сеть из более чем 2 устройств, поскольку одноранговый режим переводит устройство в режим сервера и клиента одновременно, пока не будет установлено соединение. Явная настройка одного устройства в качестве сервера может упростить настройку, которая полезна для тестирования GameKit API.

Для сервера:

GKSession *session = [[GKSession alloc] initWithSessionID:kTestSessionID displayName:nil sessionMode:GKSessionModeServer]; 

Для клиента (ов):

GKSession *session = [[GKSession alloc] initWithSessionID:kTestSessionID displayName:nil sessionMode:GKSessionModeClient]; 
15
ответ дан 3 December 2019 в 06:22
поделиться

Насколько мне известно, при использовании фреймворка GameKit вы можете соединить только пару устройств, одно действует как сервер, а другое как клиент. (если оба инициализированы как одноранговые узлы, вам нужно будет решить, какой из них будет действовать как сервер, произвольно или путем случайного выбора одного из них).

На практике может быть много устройств, на которых все работает ваше приложение, но соединения всегда будут устанавливаться через сопряженные устройства.

Конечно, вы можете написать свой собственный сетевой код на основе Bonjour через Wi-Fi и преодолеть этот предел, хотя для этого потребуется гораздо больше кода.

0
ответ дан 3 December 2019 в 06:22
поделиться

Раньше я читал, что вы можете подключить до шестнадцати устройств с помощью Gamekit. Я считаю, что вы можете сделать только два в одноранговом режиме, чтобы сделать больше двух, необходимо, чтобы одно устройство было установлено как ведущее, а остальные - в клиентском режиме.

Я бы поискал примеры, демонстрирующие использование ведущего / клиента, клиентская сторона должна применяться ко всем трем.

Вы можете вызвать + maxPlayersAllowedForMatchOfType: в GKMatchRequest (iOS6 +), чтобы получить фактический номер, который может варьироваться в зависимости от устройства, поэтому вам, вероятно, следует использовать это как верхняя граница.

4
ответ дан 3 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: