ESP32/ESP8266如何使用WiFi连接本地服务器?

6

我已经制作了一个简单的 Node.js 本地服务器,用于接收来自 ESP32 的 POST 请求并将其放入数据库中。我已经使用 postman 测试过,服务器工作正常。服务器正在监听端口 127.0.0.1:3000。我的问题是,client.connect(host, port) 总是返回 false。我无法连接到客户端以进行 POST 请求。

#include "Arduino.h"
#include "Arduino.h"
#include "WiFi.h"

WiFiClient client;
const IPAddress server(192,168,1,10);
const int httpPort = 3000;
const char* ssid = "******";
const char* password =  "********";

void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.println("Booted");
  Serial.println("Connecting to Wi-Fi");
  WiFi.begin (ssid, password);
  WiFi.mode(WIFI_STA);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
    yield();
  }
  Serial.println("WiFi connected");
  if (client.connect(server,httpPort )) {
    Serial.println("Client Connected");
  } else {
    Serial.println("No Connection");
  }

void loop() {
}

3
你是否验证了服务器在本地主机之外是否可访问?可以尝试从另一台电脑检查端口是否开放。有些防火墙可能会阻止请求。也许尝试将服务器绑定到 0.0.0.0 - Maximilian Gerhardt
1个回答

6
解决方案是让服务器监听0.0.0.0,该地址包括服务器机器上的所有IPv4地址,而不是回环IP地址127.0.0.1。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接