1、据网友说QLocalSocket有问题,共享内存QSharedMemory也有,多线程问题,不灵活,丢数据都有,而且还占资源。后来换成了zmq+protobuf。
2、zmq
ZMQ(zeromq)被称为史上最快的“消息队列”,它处于会话层之上,应用层之下,使用后台异步线程完成消息的接受和发送,近乎完美的封装了Socket API,大大简化了编程人员的复杂度。其作为消息中间件,在IPC通信领域应用广泛。
ZeroMQ号称是“史上最快的消息队列”,基于c语言开发的,实时流处理sorm的task之间的通信就是用的zeroMQ。引用官方说法,“ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。” 确实,它跟RabbitMQ,ActiveMQ之类有着相当本质的区别,ZeroMQ根本就不是一个消息队列服务器,更像是一组底层网络通讯库。
ZMQ 是一个高性能, 易使用, 易配置的 Socket 库, 在 linux 里面一句命令能够安装, 但是其 windows 版本安装, 要使用cmake手动编译.
官网
https://zeromq.org/
https://github.com/zeromq/libzmq
c语言封装
https://github.com/zeromq/czmq
c++语言封装
https://github.com/zeromq/cppzmq