一尘不染

与Node.js一起使用哪个websocket库?

node.js

当前,有大量用于node.js
的websocket库,最受欢迎的似乎是:

但是我找不到它们之间的任何可靠的具体比较……显然Socket.io很棒,但是已经过时并且构建失败。ws和websocket-
node都声称它们是最快的。而且engine.io似乎是新的,但比轻巧的武器要重得多。

如果我们或某人可以汇总一个答案,作为使用哪个套接字库,何时使用以及它们之间的比较的指南,那将是惊人的。


阅读 250

收藏
2020-07-07

共1个答案

一尘不染

通过这个社区Wiki答案获得成功。随时根据您的改进来编辑我

  • ws WebSocket服务器和node.js的客户端。最快的库之一,即使不是最快的库。

  • websocket-node WebSocket服务器和node.js的客户端

  • websocket-driver-node WebSocket服务器和客户端协议解析器node.js-在faye-websocket-node中使用

  • faye-websocket-node用于Node.js的WebSocket服务器和客户端-在faye和sockjs中使用

  • socket.io 用于Node.js的 WebSocket服务器和客户端+用于浏览器的客户端+(v0具有最新到最旧的后备,Socket.io的v1使用engine.io)+通道-用于stack.io。客户端库尝试在断开连接时重新连接。

  • sockjs WebSocket服务器和客户端(node.js和其他客户端)+浏览器客户端+最新到最旧的后备

  • faye WebSocket服务器和node.js等客户端和客户端+浏览器客户端+后备+支持其他服务器端语言

  • deepstream.io可集群实时服务器,处理WebSocket和TCP连接,并提供数据同步,发布/ 订阅和请求/响应

  • socketcluster WebSocket服务器群集,它利用计算机上的所有CPU内核。例如,如果您要使用具有32个内核的xlarge Amazon EC2实例,则您将能够处理单个实例几乎32倍的流量。

  • primus为上述大多数库提供一个通用API,以实现所有库的轻松切换和稳定性改进。

何时使用:

  • 当您要在客户端上使用本机WebSocket实现时,请使用基本的WebSocket服务器,请注意浏览器不兼容

  • 在关注浏览器后备时使用后备库

  • 在关注频道时使用功能齐全的库

  • 当您不知道要用什么时,可以使用primus;当由于项目需求变化或需要额外的连接稳定性而需要切换框架时,则不打算重写应用程序。

在哪里测试:

Firecamp是针对SocketIO,WS和所有主要实时技术的GUI测试环境。在开发实时事件时对其进行调试。

2020-07-07