Arduino ESP8266向全球网络发送UDP时出现问题

Arduino ESP8266向全球网络发送UDP时出现问题,arduino,network-programming,udp,esp8266,arduino-esp8266,Arduino,Network Programming,Udp,Esp8266,Arduino Esp8266,我在使用ESP8266 D1/D1迷你板发送UDP数据包时遇到问题。 问题是,当通过本地网络发送时,我可以看到数据包到达Wireshark,但当我尝试全局发送(将线路板连接到移动热点)时,什么也没有到达。 最终,我希望将数据存储在XDB中,但目前它甚至无法将数据发送到服务器 请看一下我使用的代码,也许有人能帮上忙 #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <WiFiUDP.h>

我在使用ESP8266 D1/D1迷你板发送UDP数据包时遇到问题。 问题是,当通过本地网络发送时,我可以看到数据包到达Wireshark,但当我尝试全局发送(将线路板连接到移动热点)时,什么也没有到达。 最终,我希望将数据存储在XDB中,但目前它甚至无法将数据发送到服务器

请看一下我使用的代码,也许有人能帮上忙

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiUDP.h>

#define WIFI_SSID "my ssid"
#define WIFI_PASS "my password"

byte host[] = {server ip};
int port = 8888;

ESP8266WiFiMulti WiFiMulti;
WiFiUDP udp;

void setup() {
  Serial.begin(9600);
  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP(WIFI_SSID, WIFI_PASS);
  Serial.print("Connecting to WIFI");
  while (WiFiMulti.run() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  
  Serial.println("Setup Complete.");
}

void loop() {

  udp.beginPacket(host,port);
  udp.write("exampleMessage");
  udp.endPacket();

  delay(1000);
}
#包括
#包括
#包括
#定义WIFI_SSID“我的SSID”
#定义WIFI_PASS“我的密码”
字节主机[]={server ip};
int端口=8888;
ESP8266WiFiMulti WiFiMulti;
WiFiUDP-udp;
无效设置(){
Serial.begin(9600);
WiFi.模式(WiFi_STA);
WiFiMulti.addAP(WIFI\u SSID、WIFI\u PASS);
串行打印(“连接到WIFI”);
while(WiFiMulti.run()!=WL_已连接){
连续打印(“.”);
延迟(100);
}
Serial.println(“WiFi连接”);
Serial.println(“IP地址:”);
Serial.println(WiFi.localIP());
Serial.println(“设置完成”);
}
void循环(){
udp.beginPacket(主机、端口);
udp.write(“示例消息”);
udp.endPacket();
延迟(1000);
}

防火墙?你有一个不标准的portAs@Juraj说,防火墙,路由器,路由,NAT,DNS解析。当您走出本地网络时,许多事情都会起作用。检查是否对服务器IP进行了Ping。