TCP:是面向连接的。它在UDP数据包的基础上增加了重传、流控等一系列机制,封装成基于字节流的传输层通讯协议。
使用字节流,应用有点像语音或视频聊天,粒度小到一个字节,双向同时传输,连绵不断。
ZeroMQ:是面向消息的通讯包,提供了消息的封装,消息就是一个二进制数组,消息就像短消息,写很多字符,按 “发送” 后才发送。
流和消息都是人们对通讯的数据的抽象。消息有很多例子,如HTTP消息,SOAP消息,IIOP消息等。
ZeroMQ 采用消息的抽象,有以下好处:
- 支持多种处理方式,如请求应答方式,发布订阅方式等
- 支持多种通讯方式,如进程内通讯,进程间通讯,TCP 通讯,IP multicast通讯等