使用node.js的Websocket上的无效帧头

Posted

技术标签:

【中文标题】使用node.js的Websocket上的无效帧头【英文标题】:InValid Frame header on Websocket using node.js 【发布时间】:2018-09-18 11:09:16 【问题描述】:

我的 chrome 控制台出现以下错误。

websocket.js:111 WebSocket 连接到“ws://c7f2053b.ngrok.io/socket.io/?EIO=3&transport=websocket”失败:帧头无效

在我的 Firefox 中我得到了这个

与 ws://c7f2053b.ngrok.io/socket.io/?EIO=3&transport=websocket&sid=h1U3iQ9b3INSkg9xAAAC 的连接在页面加载时中断

有没有办法解决这个问题,请给我建议...

【问题讨论】:

【参考方案1】:

请检查 1) Chrome 和 Firefox 版本。旧版本可能不完全支持 WebSockets What browsers support html5 WebSocket API? 2) 测试基本代码::先用普通的 javascript 代码试试看是否建立连接:-

websocket = new WebSocket(URL);
websocket.onopen = function(evt) 
    alert("Connected...");
    websocket.send(message);
websocket.onmessage = function(evt) 
    alert(evt.data);
;
websocket.onclose = function(evt) 
    alert(evt.data);
;
websocket.onerror = function(evt) 
  alert(evt.data);
;

【讨论】:

感谢您的帮助.. 它工作正常.. 在我只使用 chrome 和 mozila 浏览器之前。现在我将它检查到 Internet Explorer 现在它工作正常。非常感谢....

以上是关于使用node.js的Websocket上的无效帧头的主要内容,如果未能解决你的问题,请参考以下文章

独立 websocket 服务器的 Socket.io“无效帧头”错误

IISNode WebSocket 从远程浏览器抛出错误“与 'ws://somewebsite.com/sampleServer' 的 WebSocket 连接失败:帧头无效”

http请求后的Socket.IO帧头无效

在 node.js 服务器上使用 nginx 时出现“websocket 连接无效”

与 Hasura 的 WebSocket 连接不适用于 Node.js 上的 ApolloClient v3

Websocket同步两路连接