Я разрабатываю соединение через веб-сокет, используя ESP8266. У меня есть сервер веб-сокетов (очень простой), разработанный в Nodejs 192.168.20.21:8080, а клиент веб-сокетов - ESP8266.
Таким образом, я могу отправить сообщение с ESP8266 на сервер через веб-сокет.
Можно определить порт источника сообщения? Сколько подключений через веб-сокет может управлять ESP8266?
#include <ESP8266WiFi.h>
#include <WebSocketClient.h>
const char* ssid = "test";
const char* password = "test";
char path[] = "/";
char host[] = "192.168.20.21";
WebSocketClient webSocketClient;
// Use WiFiClient class to create TCP connections
WiFiClient client;
WiFiClient client2;
void setup() {
Serial.begin(115200);
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
delay(5000);
// Connect to the websocket server
if (client.connect("192.168.20.21", 8080)) {
Serial.println("Connected");
} else {
Serial.println("Connection failed.");
while(1) {
// Hang on failure
}
}
// Handshake with the server
webSocketClient.path = path;
webSocketClient.host = host;
if (webSocketClient.handshake(client)) {
Serial.println("Handshake successful");
} else {
Serial.println("Handshake failed.");
while(1) {
// Hang on failure
}
}
}
void loop() {
String data;
if (client.connected()) {
// capture the value of analog 1, send it along
data = String("Connessione 1");
webSocketClient2.sendData(data);
} else {
Serial.println("Client disconnected.");
while (1) {
// Hang on disconnect.
}
}
// wait to fully let the client disconnect
delay(3000);
}
Моя идея - определить источник IP: PORT для ESP8266. Например, 192.168.20.30:84 (192.168.20.30 - IP-адрес ESP).
Большое спасибо