You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP8266无法连接本地127.0.0.1 WebSocket服务器求助

问题排查与解决步骤

1. 替换127.0.0.1为电脑的局域网IP

ESP8266的127.0.0.1指向自身的回环接口,而非运行服务器的电脑。你需要:

  • 通过ipconfig(Windows)或ip addr(Linux/macOS)获取电脑的局域网IP(如192.168.1.100)
  • 将ESP代码中的本地服务器地址替换为该IP
  • 确保Rust服务器绑定到0.0.0.0而非仅127.0.0.1,否则仅本地回环可访问,局域网设备无法连接

2. 确认ESP8266的网络接入状态

在发起WebSocket连接前,先验证ESP是否成功接入局域网:

if (WiFi.status() != WL_CONNECTED) {
  Serial.println("WiFi未连接");
  return;
}
Serial.print("ESP8266局域网IP: ");
Serial.println(WiFi.localIP());

确保ESP的IP与电脑处于同一网段(如均为192.168.1.x)

3. 检查Rust服务器的监听配置

修改服务器代码,确保WebSocket路由监听所有网络接口:

// 错误写法:仅本地回环可访问
// let listener = TcpListener::bind("127.0.0.1:8080")?;
// 正确写法:允许局域网设备访问
let listener = TcpListener::bind("0.0.0.0:8080")?;

4. 先测试基础TCP连接

跳过WebSocket,直接验证ESP能否与电脑建立TCP连接,缩小问题范围:

WiFiClient client;
if (!client.connect("192.168.1.100", 8080)) {
  Serial.println("TCP连接失败");
} else {
  Serial.println("TCP连接成功");
  client.stop();
}

如果TCP连接失败,重点排查局域网IP冲突、路由器隔离规则或服务器端口占用

5. 本地SSL连接的额外配置(可选)

若要启用本地wss连接:

  • 将本地证书的指纹或公钥添加到ESP的信任逻辑中
  • 确保服务器证书的Subject Alternative Name(SAN)字段包含电脑的局域网IP或自定义本地域名

内容的提问来源于stack exchange,提问作者Spray'n'Pray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:55:03