Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
26.08.2015, 05:06
|
|
Временная регистрация
Регистрация: 30.05.2005
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
ESP8266 и браузеры
Здравствуйте, уважаемые коллеги.
Вот решил разобраться с простым WEB сервером и возникла проблема:
Если захожу на сервер с IE, то всё работает хорошо - получаю запрос, отдаю страницу, соединение закрывается и т.д.
Если захожу с OPERA, то возникают проблемы - после отдачи страницы соединение не закрывается, и в следующий раз открывается новое (а модуль поддерживает до 5 соединений). После отдачи страницы OPERA даёт запрос на favicon.ico, я его игнорирую, стоит таймаут сервера. Соединение по запросу favicon.ico закрывается по таймауту автоматически, а соединение по запросу страницы остаётся открытым.
В заголовке HTTP размер страницы указан.
Подскажите как решить.
Спасибо.
|
|
|
|
26.08.2015, 07:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
|
Re: ESP8266 и браузеры
...в чем WEB-сервер на ESP написан? С ESDK?
Писал на Lua под NodeMCU WEB-конфигуратор для моста Wi-Fi/UART. Указанной проблемы не наблюдал на браузерах Опера, мобильный хром, лиса. Ограничение на 4 соединения на сервер.
|
|
|
|
26.08.2015, 11:39
|
|
Временная регистрация
Регистрация: 30.05.2005
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: ESP8266 и браузеры
Всё посредством AT команд через покупной модуль ESP-01, собранный на ESP8266 с "родной" прошивкой. Пока с компьютера через hyperterminal и программу для посылки определённых данных (настройка сети, отдача страницы...).
IE: запрос по каналу 0 - отсылаю страницу по каналу 0 - приходит Unlink, т.е. IE автоматически отключается после получения страницы. Если повторяю процесс, то каждый раз происходит всё то-же самое.
OPERA: запрос по каналу 0 - отсылаю страницу по каналу 0, приходит запрос по каналу 1 на favicon.ico. я его игнорирую и канал 1 освобождается. Канал 0 остаётся занят. При повторном обращении приходит запрос по каналу 1...... по каналу 2 на favicon.ico и заняты остаются уже 2 канала - 0 и 1.
|
|
|
|
26.08.2015, 16:02
|
|
Прописка
Регистрация: 16.02.2008
Адрес: Россия, Омск
Сообщений: 202
Сказал спасибо: 115
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: ESP8266 и браузеры
По дефолту, таймаут модуля до разрыва соединения 3 минуты, можно уменьшить командой, но только после старта сервера. Еще есть гора прошивок, в некоторых можно обрывать соединение командой. Вот тут я вкраце описывал.
|
|
|
|
26.08.2015, 16:43
|
|
Временная регистрация
Регистрация: 30.05.2005
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: ESP8266 и браузеры
Что-то я тут совсем запутался... Таймаут я ставил вручную 10с, как и положено, после запуска сервера. Утром пробовал-пробовал... А вот сейчас вроде как заработало как положено. Хотя яещё ничего не изменял?... Только сейчас почему-то от OPERA идёт 3 запроса: 1 - страницы и 2 - на favico.ico. А утром я видел только 2: 1 - страницы и 1 - на favico.ico.... И Unlink сейчас приходит по таймауту.
И почему-то OPERA отображается как MOZILLA ...
Вот протокол:
Link
+IPD,0,442:GET / HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
OK
HTTP/1.1 200 OK Content-Type: text/html; charset=windows-1251 Content-Length:391 Server: ATmega8 ‹html› ‹body› ‹span style="color:#0000A0"› ‹h1›Âñòîðîåíûé Web Ñåðâåð‹/h1› ‹h3›ATMega8 and ESP8266‹/h3› ‹p›‹form method="GET"› ‹p›‹input type="text" name= "pwm" size=2 value="22" ›PWM ‹p›‹input type="radio" name="radio" value="0" ›LED_0 ‹p›‹input type="radio" name="radio" value="1" ›LED_1 ‹p›‹input type="submit"› ‹/form›‹/span› ‹/body› ‹/html›
SEND OK
+IPD,0,401:GET /favicon.ico HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174
Accept: */*
Referer: http://192.168.0.102/
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
OK
Link
+IPD,1,401:GET /favicon.ico HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174
Accept: */*
Referer: http://192.168.0.102/
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
OK
Unlink
|
|
|
|
26.08.2015, 16:55
|
|
Временная регистрация
Регистрация: 30.05.2005
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: ESP8266 и браузеры
кажется нашёл.
Когда в заголовке HTTP указываю версию 1.0 то глючит, а когда указываю 1.1, то работает правильно, во всяком случае, от компьютера.
|
|
|
|
27.08.2015, 06:18
|
|
Прописка
Регистрация: 16.02.2008
Адрес: Россия, Омск
Сообщений: 202
Сказал спасибо: 115
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: ESP8266 и браузеры
И ИЕ отдается, как Мозила.
|
|
|
|
27.08.2015, 20:40
|
|
Прохожий
Регистрация: 16.04.2010
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: ESP8266 и браузеры
Клиент в заголовке указывает Connection: keep-alive, т.е. что остальные запросы он будет слать в этом же соединении (на картинки там, еще какие ресурсы страницы). По-этому соединение и не закрывается некоторое время.
Как вариант - после отдачи запрошенного ресурса со стороны сервера разрывать соединение - закрывать сокет.
ИЕ, скорее всего, отдает в заголовке Connection: close.
|
|
|
|
28.08.2015, 02:48
|
|
Временная регистрация
Регистрация: 30.05.2005
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: ESP8266 и браузеры
Вот протокол по HTTP 1.0 через IE. Тут тоже Connection: Keep-Alive. И сразу после SEND OK выдаёт Unlink.
Link
+IPD,0,264:GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: ru-RU
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: 192.168.0.102
DNT: 1
Connection: Keep-Alive
OK
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251
Content-Length:391
Server: ATmega8
Hello world from web server!
‹html›
‹body›
‹span style="color:#0000A0"›
‹h1›Встороеный Web Сервер‹/h1›
‹h3›ATMega8 and ESP8266‹/h3›
‹p›‹form method="GET"›
‹p›‹input type="text" name= "pwm" size=2 value="22" ›PWM
‹p›‹input type="radio" name="radio" value="0" ›LED_0
‹p›‹input type="radio" name="radio" value="1" ›LED_1
‹p›‹input type="submit"›
‹/form›‹/span›
‹/body›
‹/html›
SEND OK
Unlink
|
|
|
|
28.08.2015, 02:51
|
|
Временная регистрация
Регистрация: 30.05.2005
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: ESP8266 и браузеры
Всё то же самое, но от OPERA.
Link
+IPD,0,442:GET / HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
OK
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251
Content-Length:391
Server: ATmega8
Hello world from web server!
‹html›
‹body›
‹span style="color:#0000A0"›
‹h1›Âñòîðîåíûé Web Ñåðâåð‹/h1›
‹h3›ATMega8 and ESP8266‹/h3›
‹p›‹form method="GET"›
‹p›‹input type="text" name= "pwm" size=2 value="22" ›PWM
‹p›‹input type="radio" name="radio" value="0" ›LED_0
‹p›‹input type="radio" name="radio" value="1" ›LED_1
‹p›‹input type="submit"›
‹/form›‹/span›
‹/body›
‹/html›
SEND OK
Link
+IPD,1,401:GET /favicon.ico HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174
Accept: */*
Referer: http://192.168.0.102/
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
OK
AT+CIPSTATUS
STATUS:3
+CIPSTATUS:0,"TCP","192.168.0.100",49292,1
+CIPSTATUS:1,"TCP","192.168.0.100",49293,1
OK
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:55.
|
|