Пытаюсь отправить с 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