草庐IT

WebSocket注解

全部标签

javascript - 如何编写一个 websocket 客户端

我正在尝试在node.js上对我的websocket进行单元测试,并想模拟一个websocket客户端。我可以创建一个仅连接到我的服务器的HTML文件,但我无法在服务器上运行单个测试。我将如何(使用http.Client或net.Stream)创建一个websocket客户端并让它与我的服务器交互。我的目标是websocket规范的(即将失效的)草案76。我使用的服务器端实现是this 最佳答案 由于您已经知道所有当前的WebSocket版本很快就会过时,并且您正在使用支持旧75草案的WebSocket服务器,如果您已经有一些服务器

node.js websocket 模块已安装但在脚本中不起作用

我刚刚安装了node.js+microsoftvisual以便能够安装websocket,它安装得很好:C:\Users\Administrator>npminstallwebsocketnpmhttpGEThttps://registry.npmjs.org/websocketnpmhttp304https://registry.npmjs.org/websocket>websocket@1.0.8installC:\Users\Administrator\node_modules\websocket>nodeinstall.js[websocketv1.0.8]Attempting

javascript - WebSocket 连接到 OpenShift 应用程序失败

我使用NodeJS创建了一个应用程序,并且正在使用ws模块。如果我在localhost中测试应用程序,它可以工作并且连接websockets没有任何问题。现在我已将应用程序上传到Openshift,当我尝试从客户端访问时,它返回无法建立与websocket的连接。如果我在我的应用程序的腻子中添加尾部,我会收到以下消息:DEBUG:这种类型的响应不能有正文。忽略传递给end()的数据。我在服务器中的代码是:#!/bin/envnode//Openshiftvariablesvaripaddress=process.env.OPENSHIFT_NODEJS_IP||"192.168.69.

javascript - 如何终止 WebSocket 连接?

是否可以在不关闭整个服务器的情况下终止来自服务器的websocket连接?如果是的话,我该如何实现呢?注意:我使用NodeJS作为后端和'ws'websocket模块。 最佳答案 因此,由于文档中有关ws.close()和ws.terminate()的某种遗漏,我认为提供的答案中的解决方案不会关闭在某些情况下,套接字会优雅地挂起,从而使它们保持在事件循环中。比较ws包的下面两个方法:ws.close():初始化关闭握手,向对端发送关闭帧并等待从对端接收关闭帧,然后发送FIN数据包以尝试执行干净的套接字关闭。收到答复后,套接字被销毁。

node.js - WebSocket 服务器不适用于 SSL

我有一个使用websockets的聊天应用程序。我想更进一步并在我的连接上启用加密,但是当我使用https切换http服务器时,我的连接开始失败。我生成了一个自签名证书,我在我的所有网站上都使用它(在同一个TLD下,这意味着它是一个通配符证书)。我可以确认它是一个有效的证书,所以问题不应该存在。这是有效的(未加密)varwebSocketServer=require('websocket').server;varhttp=require('http');varserver=http.createServer(function(){});server.listen(webSocketsS

javascript - Meteor WebSocket 连接到 'ws://.../websocket' 失败 : Error during WebSocket handshake: Unexpected response code: 400

我对Meteor.JS之类的东西很陌生,并且想知道这个错误。我开始了测试项目(使用按钮单击仪表)并且它可以工作,但随后我进入控制台并查看WebSocket连接到“ws://shibe.ninja/sockjs/243/5gtde_n9/websocket”失败:WebSocket握手期间出错:意外响应代码:400我不知道如何解决它。谢谢 最佳答案 也许有点晚了,但如果你仍然坚持这一点。部署应用程序并使用nginx作为代理时,我遇到了同样的问题。location/{proxy_passhttp://127.0.0.1:3000;pro

node.js - 在初始连接时将 JWT 传递给 Authorization header 中的 Node.js WebSocket

我正在设置一个Node.js服务器来与我的Web应用程序的WebSocket通信。我计划使用JSONWebTokens来限制只有已经通过我们的webapp进行身份验证的用户才能访问。在研究时,我无法找到支持Authorizationheader的客户端设置并在初始连接调用中使用它的Node.js的WebSocket包?我经常看到通过查询参数传递token的建议,这可能不如通过Authorizationheader传递token安全。我错过了什么吗?是否有任何好的、维护良好的WebSocket库允许在客户端设置Authorizationheader,以便我可以防止与服务器的不需要的连接?

javascript - Chrome 和 Firefox 中的 WebSocket 在一分钟不活动后断开连接

我发现Chrome和Firefox中的WebSockets会在完全不活动一分钟后断开连接。根据我在网上看到的东西,我都准备归咎于代理或某些服务器设置或其他东西,但这在IE或Edge中不会发生。看起来如果套接字在一分钟不活动后被服务器断开,这将适用于IE和Edge,就像Chrome和Firefox一样。有人知道这是为什么吗?它在任何地方都有记录吗?我知道通过ping来阻止它的可能方法,但我对它发生的原因更感兴趣。断开连接时给出的原因码是1006,表示浏览器关闭了连接。不会抛出任何错误,也不会触发套接字的onerror事件。此项目建于https://glitch.com/edit/#!/n

node.js - 与 nginx、nodejs 和 socket.io 的 WebSocket 连接失败

我尝试使用nginx设置nodejs。但是当客户端尝试连接时,它会失败...WebSocketconnectionto'ws://www.mydomain.com/socket.io/1/websocket/KUv5G...'failed:ErrorduringWebSockethandshake:'Connection'headervalueisnot'Upgrade':keep-alivesocket.io.js:2371那么如何开启websocket通讯呢?我当前的nginx配置upstreammynodejsapp{server127.0.0.1:3000max_fails=0

node.js - 是否可以使用同一个端口启用 tcp、http 和 websocket?

我正在尝试启用tcp,http和websocket.io在同一个端口上通信。我从tcp服务器(////行上方的部分)开始,它起作用了。然后我跑了echoserverexamplefoundonwebsocket.io(////行下方的部分),它也有效。但是当我尝试将它们合并在一起时,tcp不再起作用。那么,是否可以使用同一个端口启用tcp、http和websockets?还是我必须在另一个端口上监听tcp连接?varnet=require('net');varhttp=require('http');varwsio=require('websocket.io');varconn=[];