ZMQ与TCP的区别

简介: ZMQ与TCP的区别

ZMQ与TCP的区别


一、连接的区别

       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套接字可以发送消息给多个端点(扇出模型),或从多个端点中接收消息(扇入模型)。

相关文章
|
5月前
|
域名解析 网络协议 关系型数据库
tcp和udp的区别是什么
TCP和UDP是互联网协议中的传输层协议。TCP是面向连接的,通过三次握手建立可靠连接,提供数据顺序和可靠性保证,适用于HTTP、FTP等需要保证数据完整性的应用。UDP则是无连接的,数据报独立发送,传输速度快但不保证可靠性,常用于实时通信、流媒体和DNS解析等对速度要求高的场景。根据应用需求选择合适的协议至关重要。
tcp和udp的区别是什么
|
5月前
|
网络协议 网络性能优化
认识TCP和UDP的区别
重排机制:由于UDP数据包可能因网络原因而发生乱序,因此在应用层需要对接收到的数据包进行排序。
91 4
|
17天前
|
网络协议
TCP和UDP区别
简介: TCP和UDP区别
|
29天前
|
网络协议 Linux
TCP 和 UDP 的 Socket 调用
【9月更文挑战第6天】
|
4月前
|
网络协议 算法 网络性能优化
TCP和UDP有什么区别?
TCP(传输控制协议)和 UDP(用户数据报协议)是互联网协议族(TCP/IP)中的两种核心传输层协议,它们在数据传输的方式和特性上有显著的区别。
59 9
|
5月前
|
域名解析 网络协议 关系型数据库
TCP和UDP的区别是什么
TCP和UDP的区别是什么
55 0
|
5月前
|
自然语言处理 网络协议 Apache
RPC与TCP的区别
RPC与TCP的区别
125 0
|
12月前
|
网络协议 安全 网络性能优化
TCP与UDP的区别与适用场景
TCP与UDP的区别与适用场景
|
网络协议 网络性能优化
TCP 和 UDP 的区别
TCP 和 UDP 的区别
149 0
|
网络协议 网络性能优化
TCP 和 UDP 的区别?
TCP 和 UDP 的区别?
176 0