问题标签 [ws]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
127 浏览

apollo-server - Apollo graphql 订阅,对 graphql 服务器和 websocket 端点使用相同的端点

我只是想知道为 graphql 端点和 WebSocket 使用相同的端点是否有任何性能下降或任何劣势。您可以在下面查看示例代码。

0 投票
1 回答
356 浏览

javascript - websocket回调中的变量未更新

我正在编写一个 Koa 中间件,它在对服务器的每个请求时,分析来自服务器上文件的一些输入,并通过 websocket(使用https://www.npmjs.com/package/ws)将其发送到客户端.

这一切都按预期工作,除了一个问题。数据(作为分析文件输入的结果)正确更新,但不会在 websocket 回调范围内更新。

我似乎无法弄清楚为什么 ws 回调中的 conditionResults 在第一次运行时被冻结,为什么每次运行此代码时它都不会更新(在每个请求上)。

编辑:对于上下文,上面的代码片段位于这样的中间件函数中:

中间件在 Koa 中运行如下:

0 投票
1 回答
1984 浏览

https - 如何在 ws 和 wss 上运行 websocket 服务器,同时它们彼此通信或同步数据?还是 HTTP 上的 WSS 和 HTTPS 上的 WS?

我的要求是,如果某些用户通过WS 或 WSS连接,他们可以相互通信。现在,如果我为WSS运行节点服务器,它不会通过HTTP运行,如果为WS运行,那么它不会在HTTPS上连接。任何解决方案?

0 投票
2 回答
3173 浏览

ssl - Gatling:WebSocketHandshakeException:无效的握手响应 getStatus:400 错误请求

我正在尝试打开 ws 连接,但出现错误:

然后,我得到:

在 gatling.conf 中,我还设置了:

如果我尝试打开与 SmartWebsocketClient 之类的任何 WS 客户端的连接 - 一切都很好,但是通过 gatling 我无法打开连接。有什么想法可以解决吗?

0 投票
0 回答
272 浏览

javascript - 使用 ws 库(nodejs)的套接字 ping 错误

我已经成功实现了 nodejs 的 ws 包来设置 websocket 服务器。

一切工作正常,除非我尝试按照以下方式检查套接字可用性:

https://github.com/websockets/ws#how-to-detect-and-close-broken-connections

ws.ping(noop)方法总是导致以下错误:

我已经尝试了几乎所有使用ws.ping()ws.ping('')甚至ws.ping(Buffer.alloc(0)),但无济于事。

ws 套接字是干净且正在运行的,我可以使用事件和ws.send()方法通过它发送和检索数据。只有 ping/pong 失败。我在客户端(浏览器)上使用本机 WebSocket 对象。

是否可能与我在noServer: true实例化 websocket wss 服务器时使用的事实有关?

谢谢你的帮助

0 投票
0 回答
333 浏览

node.js - 如何在 NodeJS ws 中通过 WebSocket 流式传输 utf8?

我不确定这是否是一个错误。

根据websocket/ws文档,您可以使用 NodeJS 流。

但是,我的浏览器在执行此操作时只接收二进制消息,尽管将编码设置为utf8

这是一个错误,还是我如何将其流式传输为utf8

0 投票
0 回答
61 浏览

javascript - 无法识别 Websocket .close()

我试图从连接到第三方服务的 npm 包中关闭 websocket。

我通过执行以下操作来实例化 ws:

然后这会调用其中的另一个 np 包并与第 3 方建立连接。

我多么自然地希望能够随意关闭 ws:

但我得到了错误:

我如何进行错误处理和正确的日志记录:

这完美无瑕。

请记住,处理此错误处理的代码一直隐藏在第二个包中。所以从技术上讲,我应该能够用 ws 实例化来关闭它。

我应该如何调用端点来关闭它?

0 投票
0 回答
2293 浏览

websocket - NestJS Websocket Gateway:使用名称空间和 WS 适配器

我正在努力在 NestJS 7 中实现 Websocket 网关,如文档中所示。我使用 WS 适配器。

我遇到的问题是网关接受连接而不管 url。例如,如果我像这样定义我的网关:

handleConnection然后无论客户端请求的路径如何,都会触发此网关:

不幸的是,这意味着所有客户端都连接到每个网关。命名空间选项是否仅适用于 socket.io 适配器?

0 投票
1 回答
682 浏览

node.js - 防止在 Windows 10 桌面切换到锁定屏幕时停止 Node 应用程序

我正在使用与 websocket 服务器通信的 Electron 实现 Node 应用程序。只要用户登录,应用就可以流畅运行。如果用户有一段时间不活动,就会出现Windows 10系统的锁屏。只要用户解锁桌面,websocket 连接似乎就会停止。

如果客户端处于锁定屏幕中,是否有机会打开并运行 websocket 连接?

也许有一个不让系统通过节点锁定屏幕的解决方案?

0 投票
1 回答
299 浏览

reactphp - 使用 ReactPHP Socket 打开一个 ws:// 套接字

我一直在尝试让 ReactPHP 套接字启动并运行一段时间,一旦启动,我可以在指定的端口上远程登录它,但我不能使用 websocat 或任何 js lib 通过 ws:// 协议进行连接。任何帮助,将不胜感激。

服务器:

客户: