Многопользовательский режим Game Center, очень длительное время ожидания соединения - PullRequest
0 голосов
/ 10 февраля 2011

Я реализовал игру для двух игроков, используя Game Center / многопользовательскую игру, другими словами, используя GKMatch.Это работает хорошо.Есть только одна проблема: когда один игрок отключается (то есть выходит из приложения), требуется время, прежде чем другие игроки получат уведомление об этом (с match:player:didChangeState:).Иногда даже 30 секунд.

Это не хороший UX.Я не хочу, чтобы игрок ничего не ждал, если другой игрок уже отключился 30 секунд назад.

2 вопроса:

  • Это проблема с сервером песочницытолько?
  • Если нет, что я могу сделать, чтобы сократить / исключить этот период ожидания?

1 Ответ

0 голосов
/ 11 февраля 2011

Я не полагался на notifyPlayer GC. Все от DC до выхода из игры, чтобы принимать вызовы, которые я обрабатываю своими собственными кодами ..

для моего кода, когда игрок A нажимает кнопку «домой», означает, что в приложении applicationDidEnterBackground делегата приложения, игрок B посылает данные, чтобы сообщить, что игрок A вышел из игры. Таким образом, когда игрок A выходит из игры, игрок B сразу же узнает, что игрок A вышел из игры. Вместо того, чтобы ждать, пока gamecenter уведомит вас ...

...