NodeJS的Web套接字服务器端实现

Tob*_*itt 5 websocket node.js socket.io

我不禁感到必须在某个地方回答这个问题,但如果我能找到它,我就知道了.部分问题可能是客户方面有太​​多的讨论让我看到树木.

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

现在,我在这个主题上找到的99%的内容都谈到了socket.io.但据我所知,这不是WebSockets,它本身就是一种特殊的"额外"协议.我需要"通过(尚未)标准"的作品.有一个很好的理由,它是不可协商的,相信我,让我们只是节省带宽:)

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

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

所以,我没有想法.是否有可能说服socket.io纯粹由WebSockets的(非)规范工作?有没有办法让node-websocket-server表现得我找不到.是否有一种方法可以绕过websocket中的Visual Studio依赖项,还是有一些其他基于NodeJS的工具可以满足我的所有要求?

哦,另外一件事,我希望这个工具与"连接"和平共存,因为我正在使用它来处理常规文档.

TIA,托比

cil*_*arl 5

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

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

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

网站:链接

GitHub:链接

国家公共管理:npm install ws