использовал этот сайт в течение длительного времени, чтобы найти ответы, теперь нужно спросить себя! :)GKPeerState Доступно для не существующих сверстников?
Я внедрил многопользовательскую игру для своей игры, используя подход GKSession и клиент/сервер, не используя peer picker (до 4 игроков).
У меня есть одна большая проблема, на которую я не могу найти решение.
Если вы достаточно быстро отсоедините/снова подключите серверный одноранговый узел, клиент-партнер будет «помнить» этого хоста и покажет его в списке всех доступных одноранговых узлов навсегда, только отключив Wi-Fi/Bluetooth-соединение, это сбросит.
Так что если я это сделаю 5 раз подряд, мой клиент покажет 5 доступных хостов с тем же именем!
У кого-нибудь был опыт? Любая идея обходных решений?
Следует отметить, что требования к моей игре - iPhone SDK 3.0 для Bluetooth и 3.1 для Wi-Fi, поскольку GKSession поддерживает оба варианта.
Одним из решений является не использование режима «сервер/клиент», а использование однорангового режима, который все еще может быть выполнен как сервер/клиент. В этом случае проблема кэширования сверстников отсутствует. Как я его фиксировал, когда я загружаю список доступных серверов, если одно и то же имя появляется снова, я заменяю существующий в списке. Я обнаружил, что фамилия одного и того же партнера всегда является «правильной». Конечно, это не устраняет проблему, если хост недоступен, но все же появляется как доступный. Я боюсь, что для этого нет никаких проблем, если вы не используете режим одноранговой сети. – Ernest