• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

htpps client

pvvx

Активный участник сообщества
как браузером спросить?
В современном браузере есть почти всё. Даже отладчики, не говоря уже о всевозможных приложениях и сервисах.
Можно например в самом браузере написать осциллограф работающий через USB-COM и наблюдать осциллограммы в 4k от проволочки воткнутой на вход ADC в чип за 80 рупь:
1607620684220.png
Вот только точек вертикального разрешения всё равно критически не хватает для 16 бит замеров...
адрес ресурса я знаю http://hd.stream.frequence3.net допустим этот
еще вопрос где посмотреть коды ошибок сокетов
E (1066683) webclient: No data in recv. Errno = 128
или
E (1211013) webclient: Client socket: 57 connect: 0 errno:113
Какие ещё коды ошибок? У ws они свои...
 

Pilnikov

Active member
errno 113, 128 и.т.д, где посмотреть перечень и какая за что отвечает?
 

pvvx

Активный участник сообщества
Да, и при чем тут url какой-то страницы? Парсер на сервере может иметь свои строки и кучу зависимостей. Т.е. только звонить и спрашивать если не опубликовано описание.
В эксплорере: это надо набрать наверно "who ip" и подобное, там посмотреть кому принадлежит, дальше зайти в почту и ...
Надо описывать как зарегить почту в эксплорере?
 

pvvx

Активный участник сообщества
errno 113, 128 и.т.д, где посмотреть перечень и какая за что отвечает?
Может вы научитесь правильно задавать вопросы - это почти гарантия получения правильного ответа.
А пока вы гадаете неизвестно о чем. Фантазируете?
Или как всегда в конце выяснится, что вам что-то не дали готовое или не принесли "на дом с пивом и ..."?
 

Pilnikov

Active member
я в курсе про правильные вопросы - если бы умел правильно задавать - спрашивал бы у гугля.
errno - это коды ошибок возвращаемых lwip websocket - есть же у них человеческое описание. errno 11 например это обрыв соединения.
 

pvvx

Активный участник сообщества
я в курсе про правильные вопросы - если бы умел правильно задавать - спрашивал бы у гугля.
errno - это коды ошибок возвращаемых lwip websocket - есть же у них человеческое описание. errno 11 например это обрыв соединения.
А как это относится к серверу и частной реализации ws на нем?
Lwip у вас на каком компе и какое отношение он имеет к браузеру из вашего вопроса?
Т.е. вообще не понятно о чем вы спрашиваете и ответы будут на свободную тему.
 

Pilnikov

Active member
Взаимодействие между клиентом и сервером начинается с запроса от клиента:

GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 7

Ответ сервера имеет следующий вид:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Sec-WebSocket-Protocol: chat


вот это как проделать с помощью браузера?
 

pvvx

Активный участник сообщества
У меня google дает кучу по "lwip websocket". Какие-то реализации на STM32...
 

Pilnikov

Active member
А как это относится к серверу и частной реализации ws на нем?
Lwip у вас на каком компе и какое отношение он имеет к браузеру из вашего вопроса?
Т.е. вообще не понятно о чем вы спрашиваете и ответы будут на свободную тему.
Т.е. все зависит от реализации ws на конкретном сервере? или все таки ошибки может формировать клиент? Клиент -esp32 IDF 4.3 lwip ws....
 

pvvx

Активный участник сообщества
Взаимодействие между клиентом и сервером начинается с запроса от клиента:
.......хлам.....
вот это как проделать с помощью браузера?
В эксплорере это запрос с ws://.... или wss://...
Всё из той-же заметки от вики.

Проверить поддержку браузером WebSocket можно, пройдя по ссылке: http://caniuse.com/#feat=websockets
 

Pilnikov

Active member
static const char *err_strerr[] = {
"Ok.", /* ERR_OK 0 */
"Out of memory error.", /* ERR_MEM -1 */
"Buffer error.", /* ERR_BUF -2 */
"Timeout.", /* ERR_TIMEOUT -3 */
"Routing problem.", /* ERR_RTE -4 */
"Operation in progress.", /* ERR_INPROGRESS -5 */
"Illegal value.", /* ERR_VAL -6 */
"Operation would block.", /* ERR_WOULDBLOCK -7 */
"Address in use.", /* ERR_USE -8 */
"Already connecting.", /* ERR_ALREADY -9 */
"Already connected.", /* ERR_ISCONN -10 */
"Not connected.", /* ERR_CONN -11 */
"Low-level netif error.", /* ERR_IF -12 */
"Connection aborted.", /* ERR_ABRT -13 */
"Connection reset.", /* ERR_RST -14 */
"Connection closed.", /* ERR_CLSD -15 */
"Illegal argument." /* ERR_ARG -16 */
это про ошибки - вопрос снят
 

pvvx

Активный участник сообщества
Т.е. вопрос был об списке сообщений Lwip находящемся в самом Lwip, но не включенной опции их распечатки?
Тогда не ясна их связь с ws.
 

Pilnikov

Active member
Проверить поддержку браузером WebSocket можно, пройдя по ссылке: http://caniuse.com/#feat=websockets
Это все для проверки поддержки ws браузером. я в курсе, что хром поддерживает ws c 2009 года.
я немного о другом
как эхо сервером сделать то же http://hd.stream.frequence3.net, чтобы он ответил
Upgrade: websocket
Connection: Upgrade
 

Pilnikov

Active member
Т.е. вопрос был об списке сообщений Lwip находящемся в самом Lwip, но не включенной опции их распечатки?
Тогда не ясна их связь с ws.
я видимо путаюсь в определениях. Для меня темень темная кто генерит ошибки - lwip или ws.
 

pvvx

Активный участник сообщества
В Lwip ws вообще-то опционален, но если вы обращаетесь к нему в составе единой либы, то и номера возвращаемых ошибок скорее всего будут от него, т.к. это часть пакета входящая в либу. Тут опять-же надо смотреть описание используемой библиотеки - для вас это выливается "в писать письма". Для меня - посмотреть исходники. Т.е. у всех разный подход.
Но я не знаю и вы не объявили, что конкретно вы используете и какова задача. Это сильно сужает рамки поиска правильного ответа и не мотивирует сочинения на свободную тему (или гадание на кофейной гуще).

Во всяком случае (гадание на кофейной гуще по вашей тематике) событие connect или вызов callback по connect с ошибкой в значении "ERR_OK" должен говорить о правильном соединении (что ws ответил тоже правильным кодом "ошибки").
 

pvvx

Активный участник сообщества
Это все для проверки поддержки ws браузером. я в курсе, что хром поддерживает ws c 2009 года.
я немного о другом
как эхо сервером сделать то же http://hd.stream.frequence3.net, чтобы он ответил
Upgrade: websocket
Connection: Upgrade
Так-же я не вижу никаких обращений к ws из указанных вами ссылок в отладчике (F12) в эксплорере Chrome.
Есть обращения к кускам данных в виде:
Что наверняка является временным размещением куска m4a.
 

pvvx

Активный участник сообщества
А сам ресурс http://hd.stream.frequence3.net/ по запросу пустой страницы "/" грузит status.xsl в котором и есть текст и ссылки на другие сервера и на файлы типа
http://hd.stream.frequence3.net/abfcult.aac.xspf в которых xml типа:


XML:
<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" version="1">
  <title/>
  <creator/>
  <trackList>
    <track>
      <location>http://hivane01.frequence3.net:80/abf.aac</location>
      <title>Sunnery James &amp; Ryan Marciano &amp; Nicola Fasano &amp; Adam Clay - Born Again (Babylonia)</title>
      <annotation>Stream Title: FREQUENCE 3 - DANCE AAC [Powered by IKOULA]
Stream Description: FREQUENCE 3 - DANCE AAC [Powered by IKOULA]
Content Type:audio/aacp
Bitrate: 64
Current Listeners: 0
Peak Listeners: 6
Stream Genre: Dance</annotation>
      <info>https://www.frequence3.com/</info>
    </track>
  </trackList>
</playlist>
 

Pilnikov

Active member
про ошибки

в файлике esp-idf\components\lwip\lwip\src\api\err.c

static const char *err_strerr[] = {
"Ok.", /* ERR_OK 0 */
"Out of memory error.", /* ERR_MEM -1 */
"Buffer error.", /* ERR_BUF -2 */
"Timeout.", /* ERR_TIMEOUT -3 */
"Routing problem.", /* ERR_RTE -4 */
"Operation in progress.", /* ERR_INPROGRESS -5 */
"Illegal value.", /* ERR_VAL -6 */
"Operation would block.", /* ERR_WOULDBLOCK -7 */
"Address in use.", /* ERR_USE -8 */
"Already connecting.", /* ERR_ALREADY -9 */
"Already connected.", /* ERR_ISCONN -10 */
"Not connected.", /* ERR_CONN -11 */
"Low-level netif error.", /* ERR_IF -12 */
"Connection aborted.", /* ERR_ABRT -13 */
"Connection reset.", /* ERR_RST -14 */
"Connection closed.", /* ERR_CLSD -15 */
"Illegal argument." /* ERR_ARG -16 */
};

/**
* Convert an lwip internal error to a string representation.
*
* @param err an lwip internal err_t
* @return a string representation for err
*/
const char *
lwip_strerr(err_t err)
{
if ((err > 0) || (-err >= (err_t)LWIP_ARRAYSIZE(err_strerr))) {
return "Unknown error.";
}
return err_strerr[-err];
}

прописывается расшифровка ошибок lwip - но только до №16, а вот тут


"слегка" поболе вариантов
на днях займусь модернизацией char *err_strerr[]
 
Сверху Снизу