Node.js环境下Socket.io配置问题:客户端连接404错误
解决方案:Socket.IO客户端404连接失败问题
核心问题排查与修复步骤
补全服务器端口监听代码
你提供的服务器代码缺少启动监听的关键逻辑,创建了HTTP Server但未启动服务,导致客户端无法连接。在服务器代码末尾添加以下内容:const PORT = 8081; server.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });客户端明确指定服务器地址
当客户端与服务器不在同一域名/IP环境时,必须完整指定连接地址,不能使用默认的io():var socket = io('http://34.68.254.120:8081');对齐客户端与服务器Socket.IO版本
客户端使用的是4.7.2版本,服务器端需安装对应版本避免兼容性冲突:npm uninstall socket.io npm install socket.io@4.7.2排查中间件拦截问题
检查express应用中的静态文件中间件(如express.static)或自定义路由,确认它们没有抢占/socket.io/路径的处理权,Socket.IO需要独占该路径的请求处理。
验证流程
- 重启服务器,确认控制台输出
Server running on port 8081 - 打开浏览器开发者工具Network面板,查看
/socket.io/请求是否返回200状态 - 若仍有问题,再次确认防火墙规则,确保8081端口允许双向通信
内容的提问来源于stack exchange,提问作者SleepyWakes
相关产品推荐
相关产品推荐

