Ваш код React использует протокол HTTP для открытия соединения с ESP8266.
Класс ESP8266 WiFiClient
является необработанным TCP-клиентом, а не HTTP-сервером. Поэтому, когда вы печатаете то, что он получает, вы печатаете строки протокола HTTP, отправленные вашим кодом React. Вот почему вы видите то, что видите.
Другими словами, socket.io
использует протокол, построенный поверх HTTP, который построен поверх TCP. Ваш код использует только TCP, поэтому он просто видит HTTP. Он не отвечает на сообщения HTTP и никогда не увидит данные, которые вы пытаетесь отправить, потому что вы не говорите по протоколу.
Если вы действительно хотите использовать socket.io
(почему?), Тогда вы ' Вам нужно будет найти библиотеку socket.io
для ESP8266 и использовать ее. Или вам нужно реализовать протокол socket.io
самостоятельно. Здесь есть один , но я не уверен, что он будет делать то, что вам нужно.
socket.io
- это, к сожалению, названная часть программного обеспечения. В других областях вычислений «сокет» чаще всего ссылается на необработанное TCP-соединение; они решили использовать название для протокола, созданного несколькими уровнями выше TCP. «Сокет» TCP под Linux - это не то же самое, что «сокет» socket.io
. TCP-сокет под Linux - это то же самое, что ESP8266 WiFiClient
(который также, к сожалению, назван, так как он не указан c для WiFi).