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

React与Node WebSocket聊天系统手机端后端连接故障修复求助

解决方案
  • 检查前端WebSocket连接地址
    别在代码里写死ws://localhost:8080——手机访问时localhost指向的是手机自身,不是你的电脑。改成电脑的局域网IP(比如ws://192.168.1.105:8080),或者动态获取当前页面的主机地址:

    const socket = new WebSocket(`ws://${window.location.hostname}:8080`);
    
  • 确认Node后端监听地址
    如果你的后端代码是这么写的:

    server.listen(8080, '127.0.0.1');
    

    那它只会响应本地请求,把监听地址改成0.0.0.0,允许所有网卡的请求:

    server.listen(8080, '0.0.0.0');
    
  • 验证端口是否可访问
    在手机上用端口扫描工具(比如Port Scanner)测试电脑IP的WebSocket端口(比如8080)是否能连通。如果连不上,说明要么后端没监听对地址,要么端口被路由器/系统的深层安全策略拦截——可以试试换个端口(比如8081)再测试。

  • 检查WebSocket的CORS配置
    有些WebSocket库(比如ws)需要单独配置跨域,不是只靠HTTP的CORS中间件。比如用ws时要这么设置:

    const wss = new WebSocket.Server({
      server,
      cors: {
        origin: '*', // 生产环境建议指定具体域名/IP
        methods: ['GET', 'POST']
      }
    });
    
  • 关闭路由器的AP隔离功能
    部分路由器默认开启AP隔离,会阻止同一WiFi下的设备互相通信。进路由器管理后台(一般是192.168.1.1或192.168.0.1),找到“AP隔离”“无线隔离”之类的选项,关掉它。

  • 确认设备在同一局域网
    手机必须和电脑连同一个WiFi,不能用移动数据。可以在电脑上用ipconfig(Windows)或ifconfig(Mac/Linux)查自己的局域网IP,确保手机能ping通这个IP。

内容的提问来源于stack exchange,提问作者Ok Ok

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:22:16