Gamekit Latency - PullRequest
       23

Gamekit Latency

2 голосов
/ 15 декабря 2011

У меня следующая проблема с GKSessions: Иногда возникает огромная задержка при отправке данных (3-4 секунды, иногда до 10 секунд) в клиент-серверном приложении.

Если сервер отправит, скажем, 10 пакетов во время задержки, эти 10 пакетов будут получены сразу на клиенте. Странно то, что сервер все еще получает пакеты от клиентов во время задержки.

Похоже, что эта задержка хуже в сетях WiFi, но также и в сетях Bluetooth.

Кто-нибудь еще сталкивался с такими пиками задержки при использовании gamekit? Что может быть источником этой проблемы?

1 Ответ

3 голосов
/ 27 февраля 2012

Я много работал с gamekit и gksession. Я всегда использую режим Peer2Peer, хотя некоторые люди не одобряют его. Я никогда не испытываю задержек, подобных той, которую вы описываете.

Отправляете ли вы с GKSendDataReliable или GKSendDataUnreliable? Попробуйте переключиться на другое и посмотрите, изменит ли это что-нибудь. Если вы используете GKSendDataReliable, то отправляющее устройство будет ожидать сообщения «Получено» от получателя, прежде чем отправлять следующее сообщение. Это может быть проблемой.

На ваших тестовых устройствах: работает ли что-нибудь, что может затопить сеть?

Я тестировал многопользовательскую игру на основе игрового комплекта, и если бы у меня было несколько активных устройств, то внезапно некоторые зависали бы полностью, и мне нужно было их сильно перезагрузить (полностью отключить и перезагрузить), чтобы они снова заработали.

Если у вас продолжаются проблемы, вы можете попробовать гораздо более низкий уровень API: dns-sd https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/dns_discovery_api/Introduction.html

Надеюсь, у вас получится, удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...