我想通过ESP8266在Arduino IDE中创建一个简单的Wifi TCP服务器。但是我有一个大问题:当我从客户端发送字符或字符串时,我无法在服务器上接收到它。
实际上,我将esp8266连接到我的PC,我想在PC终端中查看来自客户端的发送字符。我的发送方是android的Socket协议应用!我在服务器端编写的完整代码是:
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());
}
}
}
当客户端未连接时,它将尝试连接一个客户端;当客户端连接时,它将读取传入的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句