我已经完成UDP发送/接收很多次了。但是现在我被困住了。
也许我错过了代码中的一些愚蠢的错误,或者我正在使用的库中有问题。无论如何,如果有人可以帮助您,请看看。
接收方代码
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if previousOffsetY > offsetLimitation {
// hide
}
}
发送方/访问点的代码
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
const char* ssid = "M3-L7";
const char* password = "mySmartChoice";
unsigned int localPort = 2390;
char packetBuffer[255];
WiFiUDP Udp;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Udp.begin(localPort);
}
void loop() {
delay(10);
if (Udp.parsePacket()) {
int len = Udp.read(packetBuffer, 255);
if (len > 0) {
packetBuffer[len] = 0;
Serial.println(packetBuffer);
}
}
}
好吧,我希望“ Hello”会被重复打印:D ..它们到达了连接点,但结束了。
答案 0 :(得分:1)
您可能想尝试在Wifi.begin
之前将以下内容添加到接收器:
WiFi.mode(WIFI_STA);
这会将Wifi设置为站(客户端)而不是接入点。您的代码没有执行此操作,因此很难确定正在发生的事情,尤其是如果您正在重新使用以前编程为以AP模式运行的设备。