gpt4 book ai didi

node.js - NodeJS 的 Web Sockets 服务器端实现

转载 作者:搜寻专家 更新时间:2023-10-31 22:44:03 24 4
gpt4 key购买 nike

这个问题的部分原因可能是客户端的讨论太多,以至于我只见树木不见森林。

无论如何,这就是我想做的。我需要一个独立于平台的 WebSockets 服务器端实现。我希望它在 NodeJS 中运行。

现在,我在这个主题上找到的 99% 的内容都在谈论 socket.io。但据我所知,这不是 WebSockets,它本身就是一种特殊的“额外”协议(protocol)。我需要“按(尚未)标准”工作的东西。这是有充分理由的,而且没有商量余地,相信我。

因此,我尝试了 WebSocket,但这需要(或似乎需要 python 和更糟的是 Visual Studio)才能在 Windows 上运行。我需要独立于平台的东西,不需要像这样的特殊东西。

我也尝试过 node-websocket-server,但我根本无法让它工作。主页上的示例对我来说失败了。它似乎接受了一个连接,但客户端看不到它,双方都无法发送任何东西,客户端立即看到连接已关闭。事实上,我得到的只是一个“连接”回调,然后它似乎就死了。在 Debug模式下运行没有告诉我任何有用的信息,除了一些关于某些对象或其他没有 flush() 方法的内部错误。我有点怀疑这是一个已废弃的项目?

所以,我没有想法。是否有可能说服 socket.io 完全按照 WebSockets 的(非)规范工作?有没有办法让 node-websocket-server 表现出我未能找到的行为。有没有办法绕过 websocket 中的 Visual Studio 依赖项,或者是否有其他一些基于 NodeJS 的工具可以满足我的所有要求?

哦,还有一件事,我希望该工具能够与“connect”和平共存,因为我将其用于我的常规文档服务。

最佳答案

当我尝试在不同的平台上使用 Socket.IO 时,我遇到了与您目前面临的完全相同的问题,而没有客户端的直接端口(并且没有移植的动机我自己)。

我最终将我的代码转移到使用 ws,这是一个基于标准的 websocket Node 实现,没有添加来自 socket.io 的糖分。

在我的例子中,它在几个不同的平台上运行得非常好,但你需要重新编写大部分连接/重新连接代码等。

网站:link

GitHub : link

NPM:npm install ws

关于node.js - NodeJS 的 Web Sockets 服务器端实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com