【ESP8266】 UDP伺服器
阿新 • • 發佈:2022-04-11
本程式碼主要實現了,監聽一個UDP埠,並且在收到訊息後,向傳送端返回一個Hello字串
#include <ESP8266WiFi.h> #include <WiFiUdp.h> const char* ssid = "xxxxxx"; const char* password = "xxxxx"; WiFiUDP Udp; unsigned int localUdpPort = 4210; char incomingPacket[255]; char replyPacket[] = "Hi there! Got the message :-)"; void setup() { Serial.begin(9600); Serial.println(); Serial.printf("Connecting to %s ", ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(" connected"); //開始UDP監聽 Udp.begin(localUdpPort); Serial.printf("Now listening at IP %s, UDP port %d\n", WiFi.localIP().toString().c_str(), localUdpPort); } void loop() { int packetSize = Udp.parsePacket(); if (packetSize)//解析包不為空 { Serial.printf("收到來自遠端IP:%s(遠端埠:%d)的資料包位元組數:%d\n", Udp.remoteIP().toString().c_str(), Udp.remotePort(), packetSize); String udpStringVal = Udp.readString(); Serial.print("開發板接收到UDP資料中的字串 "); Serial.println(udpStringVal); //向udp工具傳送訊息 Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());//配置遠端ip地址和埠 Udp.write("Hello");//把資料寫入傳送緩衝區 Udp.endPacket();//傳送資料 } }