ZMQ与TCP的区别
  qrJHiMhufrJ3 2023年11月02日 34 0


一、连接的区别

        1、使用多种协议,inproc(进程内)、ipc(进程间)、tcp、pgm(广播)、epgm。

        2、当客户端使用zmq_connect()时连接就已经建立了,并不要求该端点已有某个服务使用zmq_bind()进行了绑定。

        3、连接是异步的,并由一组消息队列做缓冲。

        4、连接会表现出某种消息模式,这是由创建连接的套接字类型决定的。

        5、一个套接字可以有多个输入和输出连接。

        6、ZMQ没有提供类似zmq_accept()的函数,因为当套接字绑定至端点时它就自动开始接受连接了。

        7、应用程序无法直接和这些连接打交道,因为它们是被封装在ZMQ底层的。

二、传输数据的区别

        1、ZMQ套接字传输的是消息,而不是字节(TCP)或帧(UDP)。消息指的是一段指定长度的二进制数据块,这种设计是为了性能优化而考虑的,所以可能会比较难以理解。

        2、ZMQ套接字在后台进行I/O操作,也就是说无论是接收还是发送消息,它都会先传送到一个本地的缓冲队列,这个内存队列的大小是可以配置的。

        3、ZMQ套接字可以和多个套接字进行连接(如果套接字类型允许的话)。TCP协议只能进行点对点的连接,而ZMQ则可以进行一对多(类似于无线广播)、多对多(类似于邮局)、多对一(类似于信箱),当然也包括一对一的情况。

        4、ZMQ套接字可以发送消息给多个端点(扇出模型),或从多个端点中接收消息(扇入模型)。

ZMQ与TCP的区别_TCP

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
qrJHiMhufrJ3