Node.js NodeJS的Web套接字服务器端实现
这个问题的一部分可能是因为在客户端有太多的讨论,我看不到实情 不管怎样,这是我想做的。我需要一个独立于平台的WebSocket服务器端实现。我想让它在NodeJS中运行 现在,我在本主题中发现的99%都是关于socket.io的。但据我所知,这不是WebSocket,它本身就是一个特殊的“额外”协议。我需要“按(尚未)标准”工作的东西。这有一个很好的理由,这是不可谈判的,相信我 所以,我尝试了WebSocket,但这需要(或者似乎需要python和更糟糕的Visual Studio)在Windows上运行。我需要一些独立于平台的东西,不需要像这样的特殊东西 我还尝试了NodeWebSocket服务器,但根本无法使其工作。主页上的示例对我来说失败了。它似乎接受了一个连接,但客户端没有看到它,任何一方都无法发送任何内容,客户端立即看到连接已关闭。事实上,我得到的只是一个“连接”回调,然后它似乎就消失了。在调试模式下运行并没有告诉我任何有用的信息,除了关于某个对象或其他没有flush()方法的对象的一些内部错误。我有点怀疑这是一个失败的项目 所以,我没有主意了。是否有可能说服socket.io完全按照WebSocket的(非)规范工作?有没有一种方法可以让节点websocket服务器表现出我找不到的行为。有没有办法绕过websocket中的VisualStudio依赖关系,或者有没有其他基于NodeJS的工具可以满足我的所有需求Node.js NodeJS的Web套接字服务器端实现,node.js,websocket,socket.io,Node.js,Websocket,Socket.io,这个问题的一部分可能是因为在客户端有太多的讨论,我看不到实情 不管怎样,这是我想做的。我需要一个独立于平台的WebSocket服务器端实现。我想让它在NodeJS中运行 现在,我在本主题中发现的99%都是关于socket.io的。但据我所知,这不是WebSocket,它本身就是一个特殊的“额外”协议。我需要“按(尚未)标准”工作的东西。这有一个很好的理由,这是不可谈判的,相信我 所以,我尝试了WebSocket,但这需要(或者似乎需要python和更糟糕的Visual Studio)在Windo
哦,还有一件事,我希望该工具能够与“connect”和平共处,因为我正在使用它来提供常规文档服务。我遇到了与您当时所面临的问题完全相同的问题,当时我试图在不同的平台上使用Socket.IO,但没有客户端的直接端口(也没有自己移植它的动机) 最后,我将代码改为使用ws,这是一种基于标准的websocket节点实现,无需从socket.io添加糖 在我的例子中,它在几个不同的平台上运行得非常好,但是您需要重新编写大部分连接/重新连接代码等 网站: GitHub:
NPM:
NPM install ws
Socket.io在幕后使用ws,因此您可能会在Windows上遇到相同的安装问题。您可能会发现,它抱怨您需要安装Visual Studio 2010才能使ws
组件正常工作
但是,您可以配置VisualStudio使用的版本:“代码>节点GYP”,它通过环境变量运行C++编译器。 示例:
- 为Visual Studio 2012设置
GYP\u MSVS\u VERSION=2012
- set
(“e”代表“express edition”)GYP\u MSVS\u VERSION=2013e
注意:Joyent团队指出,当编译
ws
失败时,socket.io将退回到使用较慢的实现。换句话说,您的代码仍将运行—只是速度没有那么快。对于安装依赖socket.io或ws的任何应用程序的最终用户来说,这并不清楚,因为在安装过程中,它会显示红色的错误文本,这会导致用户认为安装失败,而事实上安装过程会很慢。好的,谢谢,我会尝试一下(很抱歉,延迟确认,我不在城里)。