如何通过 ESP8266 创建 TCP 服务器?
how create TCP server by ESP8266?
我想在 Arduino 中通过 ESP8266 创建一个简单的 Wifi TCP 服务器 IDE。但是我有一个大问题:当我从客户端发送一个字符或字符串时,我无法在服务器上接收到它。
事实上,我将 esp8266 连接到我的电脑上,我想在电脑终端上看到来自客户端的发送字符。
我的发送方是 android! 的套接字协议应用程序,我在服务器端编写的完整代码是:
WiFiServer server(8888);
void setup()
{
initHardware();
setupWiFi();
server.begin();
}
void loop()
{
WiFiClient client = server.available();
if (client) {
if (client.available() > 0) {
char c = client.read();
Serial.write(c);
}
}
}
void setupWiFi()
{
WiFi.mode(WIFI_AP);
WiFi.softAP("RControl", WiFiAPPSK);
}
void initHardware()
{
Serial.begin(115200);
}
双方的波特率都设置为 115200。
在循环中,您将在建立删除 WiFiClient
对象后立即关闭客户端连接。
为了保持连接打开,您可以像这样修改循环:
WiFiClient client;
void loop()
{
if (!client.connected()) {
// try to connect to a new client
client = server.available();
} else {
// read data from the connected client
if (client.available() > 0) {
Serial.write(client.read());
}
}
}
当客户端未连接时,它会尝试连接一个客户端,当客户端已连接时,它会读取传入数据。
我想在 Arduino 中通过 ESP8266 创建一个简单的 Wifi TCP 服务器 IDE。但是我有一个大问题:当我从客户端发送一个字符或字符串时,我无法在服务器上接收到它。
事实上,我将 esp8266 连接到我的电脑上,我想在电脑终端上看到来自客户端的发送字符。 我的发送方是 android! 的套接字协议应用程序,我在服务器端编写的完整代码是:
WiFiServer server(8888);
void setup()
{
initHardware();
setupWiFi();
server.begin();
}
void loop()
{
WiFiClient client = server.available();
if (client) {
if (client.available() > 0) {
char c = client.read();
Serial.write(c);
}
}
}
void setupWiFi()
{
WiFi.mode(WIFI_AP);
WiFi.softAP("RControl", WiFiAPPSK);
}
void initHardware()
{
Serial.begin(115200);
}
双方的波特率都设置为 115200。
在循环中,您将在建立删除 WiFiClient
对象后立即关闭客户端连接。
为了保持连接打开,您可以像这样修改循环:
WiFiClient client;
void loop()
{
if (!client.connected()) {
// try to connect to a new client
client = server.available();
} else {
// read data from the connected client
if (client.available() > 0) {
Serial.write(client.read());
}
}
}
当客户端未连接时,它会尝试连接一个客户端,当客户端已连接时,它会读取传入数据。