Socket.IO failed: Error during WebSocket handshake:

在node安装了Socket.IO,做demo时报错

WebSocket connection to ‘ws://localhost:8999/socket.io/?EIO=3&transport=websocket&sid=D0fxLuPwjHWgYSI7AAAB‘ failed: Error during WebSocket handshake: Unexpected response code: 400

WebSocket 握手时发生错误,诡异的是我前端页面没有关闭,重启服务器node app.js后socket重新连上了

经多次测试验证,只有登陆进入才会报错,但是之后Socket 是处在连接状态的如图,连接不是很稳定,cookie也可以获取到。重启之后可以socket自动连上。

这就奇怪了。。折腾了许久,另外写了个更简单的demo, 只要必要的express和socket.io, 发现没问题。

然后排查,最后找到了这货

express-status-monitor

基于socket.io和chat.js的服务器监控器

可能会存在冲突,把这个注释之后,可以了!

然后在express-status-monitor, 找到了原因:

If you‘re using socket.io in your project, this module could break your project because this module by default will spawn its own socket.io instance. To mitigate that, fill websocket parameter with your main socket.io instance as well as port parameter.

时间: 2024-10-28 02:24:37

Socket.IO failed: Error during WebSocket handshake:的相关文章

struts2+websocket报错:failed: Error during WebSocket handshake: Unexpected response code:404

最近把websocket集成进项目里面来,打开网页总是会遇到这样的错误. 网上说的原因有3种,但是都不适合我,但是也记录下. 1.struts2截拦掉了ws的请求.这种援用可以尝试把web.xml清空,如果可以连接,则是这个问题.此时在struts.xml的配置文件中添加: <constant name="struts.action.excludePattern" value="ws://*"></constant> 对ws的请求不截拦. 2

websocket failed: Error during WebSocket handshake: Unexpected response code: 200

websocket+spring整合,不能访问, 解读源码: 原因:websocket_username=null,导致空异常 解决:给websocket session 添加用户名 //握手前,读取用户名,并赋值给websocket的session @Override public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler, M

报错nginx failed error: during websocket handshake

location / {proxy_pass http://localhost:8080;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host;}

nginx反向代理 报错:Error during WebSocket handshake: Unexpected response code: 403

遇到nginx报错:websocket wss failed: Error during WebSocket handshake: Unexpected response code: 403 server { listen 6340; location / { proxy_pass http://web; proxy_http_version 1.1; #Nginx在与Node后端通信时使用HTTP/1.1,是WebSockets所必需的 proxy_set_header Origin '';

nodejs之socket.io模块——实现了websocket协议

Nodejs实现websocket的4种方式:socket.io.WebSocket-Node.faye-websocket-node.node-websocket-server,这里主要使用的是socket.io 1.服务端: 1)首先安装socket.io npm  install  socket.io 2)server.js var app = require('http').createServer(handler), io = require('socket.io').listen(a

Socket.IO介绍:支持WebSocket、用于WEB端的即时通讯的框架

一.基本介绍 WebSocket是HTML5的一种新通信协议,它实现了浏览器与服务器之间的双向通讯.而Socket.IO是一个完全由JavaScript实现.基于Node.js.支持WebSocket的协议用于实时通信.跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js. Socket.IO除了支持WebSocket通讯协议外,还支持许多种轮询(Polling)机制以及其它实时通信方式,并封装成了通用的接口,并且在服务端实现了这些实时机制的相应代码.Socket.I

Node.js websocket 使用 socket.io库实现实时聊天室

认识websocket WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duple).一开始的握手需要借助HTTP请求完成. 其实websocket 并不是很依赖Http协议,它也拥有自己的一套协议机制,但在这里我们需要利用的socket.io 需要依赖到http . 之前用java jsp写过一个聊天,其实实现逻辑并不难,只是大部分时间都用在UI的设计上,其实现原理就是一个基于websocket的通信,要想做一个好的聊天室,我觉得大部

关于Socket.IO的知识点记录

最近因为项目的需要,开始学习nodejs,本着js的那点儿功底,nodejs学习起来还是挺快能上手的.随着深入学习,知道了express框架并那它写了一个小功能,作为一个php程序员哈,在express框架路由.模板渲染那里看到了Yii2的影子,所以便更加的亲切了.再接着便接触到了websocket,而今天谈论的socket.io 便是websocket的一个类库,说道这里了,我们先去了解下websocket和socket.io: 一  websocket WebSocket是html5新增加的

socket.io不为人知的功能

socket.io 是一个基于websocket实现的前后端实时通讯框架,也对低版本浏览器做了封装.使用起来简单,方便. 初次使用起来可能会比较迷糊,其实主要常用就几个方法,简单介绍一下. //客户端 io.connect(url) //客户端连接上服务器端 socket.on('eventName', msg => {}) //客户端监听服务器端事件 socket.emit('eventName', msg) //客户端向服务器端发送数据 socket.disconnect() //客户端断开