Пытаюсь отправить с esp данные на локалку по WebSocket.Сервер принимает но не отправляются данные на клиент.
- Войдите на сайт для отправки комментариев
Сб, 11/04/2020 - 16:32
Клиент написан на php с использованием библиотеки ,успешно печатает сообщения с сервера эхо.
require('vendor/autoload.php'); use WebSocket\Client; $client = new Client("ws://echo.websocket.org/"); $client->send("Hello WebSocket.org!"); echo $client->receive(); // Will output 'Hello WebSocket.org!'
Но после подключения к ESP серверу коннект есть т. к. не выдает ошибку при перезагрузке страницы и отправляет сообщение на ESP которое выводиться в монитор порта. Но не видит ответного сообщения от сервера срабатывает событие close.
Код сервера websocket ESP c использованием библиотеки <WebSocketsServer.h>
void WebSoket_SetUp() { webSocket.begin(); webSocket.onEvent(webSocketEvent); } String msg = "{hello}"; void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) { Serial.println("web Socket"); switch (type) { case WStype_DISCONNECTED: Serial.printf("[%u] Disconnected!\n", num); break; case WStype_CONNECTED: { IPAddress ip = webSocket.remoteIP(num); Serial.printf("[%u] Connected from %d.%d.%d.%d url: %s\n", num, ip[0], ip[1], ip[2], ip[3], payload); // send message to client webSocket.sendTXT(num, "Connected"); } break; case WStype_TEXT: Serial.printf("[%u] get Text: %s\n", num, payload); // send message to client webSocket.broadcastTXT("message here"); // send data to all connected clients //webSocket.broadcastTXT("message here"); break; case WStype_BIN: Serial.printf("[%u] get binary length: %u\n", num, length); hexdump(payload, length); // send message to client // webSocket.sendBIN(num, payload, length); break; } }
C javaScript client работает отлично принимает и отправляет.
Пишет в монитор порта при php client:
web Socket [1] Connected from 192.168.0.101 url: / web Socket [1] get Text: Hello WebSocket.org! web Socket [1] Disconnected! web Socket [0] Disconnected! web Socket [0] Connected from 192.168.0.101 url: / web Socket