Arduino 如何通过ESP8266创建TCP服务器?
我想在Arduino IDE中通过ESP8266创建一个简单的Wifi TCP服务器。但我有一个大问题:当我从客户端发送一个字符或字符串时,我无法在服务器上接收它 事实上,我将esp8266连接到我的PC,我想在PC终端中看到来自客户端的发送字符。 我的发送端是android的Socket协议应用程序!我在服务器端写的完整代码是:Arduino 如何通过ESP8266创建TCP服务器?,arduino,tcpserver,esp8266,Arduino,Tcpserver,Esp8266,我想在Arduino IDE中通过ESP8266创建一个简单的Wifi TCP服务器。但我有一个大问题:当我从客户端发送一个字符或字符串时,我无法在服务器上接收它 事实上,我将esp8266连接到我的PC,我想在PC终端中看到来自客户端的发送字符。 我的发送端是android的Socket协议应用程序!我在服务器端写的完整代码是: WiFiServer server(8888); void setup() { initHardware(); setupWiFi(); server.
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());
}
}
}
当客户端未连接时,它尝试连接一个客户端,当客户端连接时,它读取传入数据 请提供更多的代码,看到双方都会有帮助。@Marged:我也会这么认为,但“不接收”并不意味着“但程序在发送端成功执行”。当我单击发送按钮时,我的发送端是SocketProtocol应用程序,其状态变为发送消息!我想那不能传递信息!你有没有看电视?哇!非常感谢mpromonet。这是正确的工作方式!这是一个有用的链接。