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

Express集成Socket.io运行时请求/socket.io路径返回404错误求助

问题修复方案
  • 服务端Socket.io依赖导入错误
    你当前服务端引入的是socket.io-client客户端包,服务端需要使用专门的服务端依赖,首先执行安装:

    npm install socket.io
    

    替换服务端的io实例化代码:

    // 把 const io=require('socket.io-client')(server); 替换为下面的代码
    const io = require('socket.io')(server, {
      cors: { origin: "*" } // 本地开发可临时放开跨域,生产环境请替换为实际前端域名
    });
    
  • 端口监听对象配置错误
    Socket.io逻辑是绑定在你创建的server(http.Server实例)上的,但你当前用app.listen(3030)启动服务,相当于启动了一个未挂载Socket.io的独立HTTP服务,自然无法处理/socket.io路径的请求,修改监听代码:

    // 注释掉 app.listen(3030); 启用下面的监听逻辑
    server.listen(3030, () => {
      console.log('服务已启动,访问地址:http://localhost:3030');
    });
    
  • 客户端Socket.io版本不兼容
    你当前引入的0.9.16版本客户端SDK和新版Socket.io服务端完全不兼容,建议直接使用服务端自动托管的客户端脚本,版本自动匹配,修改HTML中的引入代码:

    <!-- 替换原有CDN引入的旧版脚本 -->
    <script src="/socket.io/socket.io.js"></script>
    

完成以上三处修改后重启服务,即可解决/socket.io路径404的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:57:01