ZeroMQ与Socket.io

我想要zeroMQ和socket.io之间的主要区别

  1. 性能(速度更快吗?)
  2. 应用。 (用于实时服务吗?)
  3. 浏览器支持。 (支持哪些浏览器?)

尽pipe在某些情况下,两者可以互换使用,但是您正在比较苹果和橘子。

Socket.io是一个JavaScript库,由两部分组成,一个是客户端部分,可以在任何支持Web套接字的浏览器中运行,另一个部分是在NodeJS上运行的服务器端部分。 它用于构build实时Web应用程序,这意味着您期望在客户端和服务器(可能还有多个客户端,例如聊天)之间进行大量的后台和第四次通信。

ZeroMQ是一个networking库,用于构build分布式应用程序。 它意味着在后端运行。 其思想是在不同线程或进程的任意组合之间进行通信,无论是在单个机器上还是在分布式networking上(这意味着它为不同的目的使用不同的传输方式,并且无缝地实现)。 有很多stream行的编程语言(PHP,Python,C ++,C#,CL,Delphi,Erlang,F#,Felix,Haskell,Java,Objective-C,Ruby,Ada,Basic,Clojure,Go,Haxe,Node) js,ooc,Perl和Scala),所以它不会绑定到NodeJS或任何服务器框架。

您应该阅读各自文档的前几页: socket.io ZMQ指南

简而言之,ZMQ不会在浏览器中运行,并且不一定与NodeJS或JavaScript绑定,这有助于不同“程序”之间的通信。 Socket.io是用JS编写的,是一个浏览器脚本和一个npm包,当你需要在NodeJS服务器和客户端之间进行实时通信的时候。