У меня есть веб-приложение, которое используется на складе. Браузер работает в ручном сканере, подключенном по WiFi. Приложение работает нормально, пока пользователь не переместится из одной области склада в другую. Приложения на некоторое время перестают отвечать, а затем снова становятся отзывчивыми.
Я предполагаю, что это связано с переходом с одной точки доступа на другую.
Когда происходит переход, вы можете без проблем пинговать с пистолета на сервер.
IP-адрес остается неизменным.
Журнал доступа к веб-серверу не показывает никакой активности.
Я не специалист по сети. Но я думаю, что на уровне Интернета (IP) все в порядке, но на транспортном уровне они возникают. Может быть, происходит диалог (открытый сокет?) Между браузером и сервером, и изменение в точке доступа оставляет разговор в нестабильном состоянии.
Любые предложения приветствуются.
Сервер работает Apache с PHP.
Поддержка браузера HTML5 работает на сканере Intermec.
Во-первых, это не имеет ничего общего с PHP, но это происходит (как вы правильно предполагаете) на более низких уровнях.
Кроме того, вы правы, что это проблема с сетью, которую обычно называют «роумингом». Конечно, все слышали об этом, потому что мы используем его каждый день с нашими мобильными телефонами.
Прежде чем углубляться в это, я расскажу вам решение, это аппаратное контроллер доступа Wi-Fi. (Подробнее об этом позже.)
Основная проблема
Ваше клиентское приложение установило TCP-соединение через сетевой стек вашей ОС. Теперь клиент отправляет пакеты по соединению. Но он не знает, поступили ли пакеты — до получения положительного результата или после определенного времени ожидания (обычно несколько секунд).
Когда соединение потеряно, клиент все равно продолжит отправку пакетов в течение некоторого времени. Когда клиент получает тайм-ауты на эти пакеты и понимает, что они потеряны, он попытается отправить их снова, как только будет установлено новое соединение на другой точке доступа.
Это поведение, которое вы понимаете.
Что такое контроллер доступа (WiFi)?
Контроллер доступа Wi-Fi (или контроллер беспроводной локальной сети) — это устройство, которое контролирует две или более точек доступа. Его задача — управлять передачей обслуживания мобильных клиентов между точками доступа. Хорошие AC организуют передачу и даже пересылают пакеты, уже отправленные на «старую» точку доступа, на новую. Есть многочисленные модели на рынке.
Поэтому мое предложение будет рассмотреть возможность установки контроллера доступа Wi-Fi.
Других решений пока нет …