Почему Gamekit разработан таким образом? Даже в режиме клиента все уведомления получены - PullRequest
0 голосов
/ 04 декабря 2009

Мы не используем элемент управления GKPeerPicker. Мы реализуем пользовательский интерфейс. Мы сделали несколько традиционных клиент-серверных приложений на разных языках / платформах.

В Gamekit у меня есть один в режиме сервера, а остальные в режиме клиента. Я не использую режим Peer. Тем не менее, когда подключается какой-либо новый клиент, все уже подключенные клиенты неявно уведомляются о подключении и отключении любого клиента. Также, когда я отправляю данные от клиента с помощью sendToAll, он достигает всех клиентов, подключенных к серверу.

Я имею в виду, что теперь я должен явно поддерживать peerid сервера и остальные peerids. Хотя это небольшая задача в программировании, мне просто интересно узнать о его дизайне. В традиционном программировании сокетов клиент-сервер у вас нет всего этого. Например, сценарии, когда 2 клиента хотят захватить слот, сервер обрабатывает первый запрос, заполняет слот и отклоняет второй запрос.

Я не вижу большого преимущества из-за этого дизайна. Пожалуйста, укажите мои ошибки и дайте мне знать, почему он разработан таким образом.

1 Ответ

0 голосов
/ 13 января 2011

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

...