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

Express js环境下Socket io连接无法建立,POSTMAN返回404求助

问题根因

你的服务启动对象配置错误,是导致Socket.IO连接404的直接原因:
你手动通过http.createServer(app)创建了http服务实例server,并且将Socket.IO服务挂载在这个server实例上,但最终调用app.listen(1337)启动服务。而app.listen是express封装的方法,内部会新建一个独立的http服务实例,和你挂载Socket.IO的server完全没有关联,因此Socket.IO的握手路由根本没有注册到实际运行的服务上,访问自然返回404。

修复方案

把启动服务的代码从app.listen改成server.listen即可,修改后的对应代码片段如下:

// 删掉原来的app.listen代码,替换为下面的
server.listen(1337, () => {
    console.log('listening on *:1337 ');
});

可选补充配置

如果后续遇到跨域连接问题,可以在初始化Socket.IO时添加CORS配置,示例如下:

const io = new Server(server, {
  cors: {
    origin: "*", // 生产环境建议替换为实际允许的域名
    methods: ["GET", "POST"]
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:09:03