• 12162阅读
  • 5回复

ZeroMQ的一个简单的Qt封装(只考虑了REQ/REP模式) [复制链接]

上一主题 下一主题
离线ninsun
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2011-12-06
关键词: zeromq
ZeroMQ是一个网络通信的中间件, 可以为我们处理很多网络通讯中很容易出现的问题
例如: 典型的通讯中的分包/粘包问题, 程序重启后的重连, 需要先启动服务器再连接客户端, 一个服务器接受多个客户端连接时等等...
最开始做网络通信编程的时候这些问题都是很头疼的. 而这些问题在我们使用了ZeroMQ以后将不再是问题...
不过要注意的是, ZeroMQ不是TCP协议的封装!它和TCP协议不兼容!


首先是个测试程序. Qt4.7.4版本, 测试程序包里没有包含qt库
绑定端口的时候使用*就可以自动绑定本机IP了(ZeroMQ提供的功能).
可以尝试着先启动客户端连接后发送条消息再启动服务器进行绑定, 以及发送很大的数据测试效率问题(我发觉数据很大的时候Qt界面卡才是最大的问题...)
ZMQtLib.7z (70 K) 下载次数:82
然后是源代码:
ZMQtLib_src.7z (15 K) 下载次数:96
程序依赖libzmq库, 请自行去http://www.zeromq.org/ 下载...
补上运行时需要的qt和vc库...因为开发环境是蛋疼的vs2005, qt和zmq库都是用vs2005编译的...
runtime.7z (3495 K) 下载次数:83

离线chenzhengxi

只看该作者 1楼 发表于: 2011-12-17

不错,不过用定时器收发不大好吧,能集成到GUI的循环中就完美了。
http://labs.wordtothewise.com/zeromqt/

https://github.com/wttw/zeromqt

离线yeguoxiong

只看该作者 2楼 发表于: 2014-11-20
你好,你是否研究进zeromq序列化和反序列化问题?
离线圣域天子

只看该作者 3楼 发表于: 2014-11-20
不是tcp,那是什么啊?
离线jiaer

只看该作者 4楼 发表于: 2015-02-28
发送不是写在多线程里面?放在多线程里面就不会卡界面了。
离线rophie

只看该作者 5楼 发表于: 2015-03-03
第一次知道ZeroMQ,它做网络很方便吗?
快速回复
限100 字节
 
上一个 下一个