2016-06-21 2 views
0

Я видел, что система Android имеет плохое поведение с Wi-Fi-роуминг. У нас есть централизованная сеть Wifi с множеством точек доступа с идентификатором SSID. Телефоны Adroid без проблем перемещаются. Android Phone пытается оставаться подключенным к AP, пока сигнал не достигнет нуля, даже если есть другие AP (с тем же SSID) с хорошим сигналом! Когда сигнал равен нулю, он, наконец, выполняет ассоциацию с другой AP (с хорошим сигналом). Но при таком поведении телефон теряет все TCP-соединения!Android Wi-Fi Роуминг через AP с тем же SSID

Например:

  1. телефон подключен WiFi в AP1
  2. телефон переходит в здание и теперь слышит два сигнала от AP1 и AP2 из.
  3. Когда форма сигнала AP2 сильнее, чем сигнал от AP1, я хочу, чтобы телефон выполнял операцию (а не ассоциацию) с AP2.

Идея такова:

  • Выполните WifiManager.startScan()
  • Получить результаты WifiManager.getScanResults()
  • Найти лучшие AP в результатах
  • Выполните reassosiation к лучшему AP

Повторите каждые 30 секунд.

Я говорю о reasosiation, потому что я не хочу, чтобы телефон теряет TCP-соединения.

Есть ли способ сделать это?

Спасибо, Сальво

ответ

0

Вы не можете сделать это, как вы описываете. Клиент не может определить состояние TCP-соединения самостоятельно. Ваша сеть также должна перемещать канал связи с одной точки доступа на другую. Это можно сделать с помощью правильных сетевых контроллеров.

Кроме того, вы должны смотреть на IEEE 802.11k - https://en.wikipedia.org/wiki/IEEE_802.11k-2008

Смежные вопросы