我想要ZeroMQ和socket.io
之间的主要区别答案 0 :(得分:17)
虽然在某些情况下两者可以互换使用,但您需要比较苹果和橘子。
<强> Socket.io 强>
是一个javascript库,由两部分组成 - 一个客户端部分,用于在任何支持Web套接字的浏览器中运行,以及一个在NodeJS上运行的服务器端部分。它用于构建实时Web应用程序,这意味着您期望在客户端和服务器之间进行大量的后向和第四次通信(可能还有多个客户端 - 例如聊天)。
<强> ZeroMQ 强>
是一个网络库,用于构建分布式应用程序。它的意思是在后端运行。这个想法是在不同线程或进程的任何组合之间进行通信,无论是在单个机器上还是在分布式网络上(这意味着它使用不同的传输方式用于不同的目的 - 并且它无缝地这样做)。有许多流行的编程语言(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
ZeroMQ guide
简而言之:
ZeroMQ不会在浏览器中运行,并且不一定与NodeJS或JavaScript相关联 - 它促进了不同程序之间的通信。#34;。 Socket.io是用JS编写的,是一个浏览器脚本和一个npm包,用于在NodeJS服务器和客户端之间进行实时通信时。