Извиняясь заранее, я не эксперт 802.11, и это длинный вопрос...
Я работаю над клиентом iOS voip, мы используем библиотеку Cocoaasyncsocket для наших соединений TCP/UDP. Приложение /iDevice разрешено перемещаться в/из wifi-покрытия (для целей этого обсуждения мы предположим, что приложение использует только Wi-Fi... нет сотовой связи). У нас есть соответствующие настройки plist для backgroundmode (voip, audio), а также требующие постоянных wifi.
У нас возникла проблема, которая кажется особенно характерной для Cisco AP. С клиентским приложением на переднем плане и роумингами и в диапазоне Wi-Fi мы заметили, что в конечном итоге устройство iOS в конечном итоге не будет автоматически подключаться к сети. Было отмечено, что после большой отладки отказ от воссоединения не имеет ничего общего с приложением. Невозможность повторного объединения может быть в конечном итоге воспроизведена, заставляя AP (через конфигурацию) отключать аутентификацию iDevice три раза. После первой и второй деаутентификации iDevice автоматически автоматически присоединяется. Но после третьего раза iOS автоматически не присоединяется к сети.
Сеть будет воссоединена, если, например, приложение электронной почты iOS будет помещено на передний план.
Нам было любопытно, возникли ли у некоторых других приложений типа VOIP эту проблему, и провела эксперимент с запуском FaceTime и Skype на устройстве iOS.
Skype вел себя так же, как наше приложение для voip, после третьего девайса соединение было потеряно. Попытка инициировать другой вызов привела к сообщению о том, что "должно быть подключение к Интернету для совершения вызова".
FaceTime отключился от третьего деаута и не смог автоматически подключиться... однако мы смогли повторно инициировать другой вызов FaceTime, который заставил iOS подключиться к сети и сделать вызов.
Мы хотели бы подражать поведению FaceTime, но пока не понимаем, что мы должны делать по-другому. Насколько нам известно, мы должным образом закрываем открытые сокеты, когда мы отсоединяемся. Кто-нибудь знаком с этой проблемой и предлагает некоторые идеи?