ZeroMQ安装说明
ZeroMQ安装说明
1. 安装
1.1.Linux zmq安装
安装过程参考地址:http://zeromq.org/intro:get-the-software的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/libzmq下载源码,得到压缩包libzmq-master.zip(可以使用git工具下载);
(git clone https://github.com/zeromq/libzmq)
2. 安装cmake autoconf automake libtool等工具;
3. 将libzmq-master.zip传入系统中,执行以下命令;
unzip libzmq-master.zip
mv libzmq-master.zip libzmq
cd libzmq
./autogen.sh && ./configure && make -j 4
make check && make install && sudo ldconfig
这样就安装在了目录/usr/local下了,可以在/usr/local/lib下找到动态库,可以在/usr/local/include下找到头文件。
1.2.Linux CZMQ安装
安装过程参考地址:http://api.zeromq.org/czmq3-0:czmq的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/czmq下载源码,得到压缩包czmq-master.zip(可以使用git工具下载);
(git clone https://github.com/zeromq/czmq)
2. 安装cmake autoconf automake libtool等工具;
3. 将czmq-master.zip传入系统中,执行以下命令;
unzip czmq-master.zip
mv czmq-master czmq
cd czmq
./autogen.sh
./configure
如果报以下错误:
checking for zmq_init in -llibzmq... no
configure: error: cannot link with -lzmq, install libzmq
则修改文件configure,将文件中的lllibzmq替换为lzmq,再次执行./configure
4. 执行make,再执行make check,切换到root用户,执行make install,执行ldconfig,安装完成。
安装完成后,czmq安装在了/usr/local下,可以在/usr/local/lib下找到动态库,可以在/usr/local/include下找到头文件。
1.3.Windows zmq安装
安装过程参考地址:http://zeromq.org/intro:get-the-software的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/libzmq下载源码,得到压缩包libzmq-master.zip(可以使用git工具下载)。
2. 解压缩libzmq-master.zip文件,得到文件夹libzmq-master,修改libzmq-master目录名为libzmq;
3. 在目录/libzmq/builds/msvc下存在脚本文件configure.bat,在CMD下执行这个脚本文件;
4. 用相应的VS打开目录/libzmq/builds/msvc/下对应目录下的项目,编译,就生出动态库。
生成的库在目录\libzmq\bin\Win32\Debug\v120\dynamic下,头文件在目录\libzmq\include下。
1.4.Windows jzmq安装(32位)
l 安装jzmq必须首先安装zmq。
l 安装过程参考地址:http://zeromq.org/bindings:java的说明
l 安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/jzmq下载源码,得到压缩包jzmq-master.zip(可以使用git工具下载)。
2. 解压缩jzmq-master.zip文件,得到文件夹jzmq-master,修改jzmq-master目录名为jzmq;
3. 在目录\jzmq\jzmq-jni\builds\msvc目录下用vs打开msvc.sln,修改配置:
a) 在项目jzmp上右击,选择“属性”;在“jzmq属性页”中点击“配置管理器”,选择“平台”为“Win32”,点击关闭。
b) 选择"VC++ 目录”, 将以下目录添加到”包含目录”:
<jdk>\include\win32
<jdk>\include
<zeromq>\include
c) 将以下目录添加到”库目录”:
<zeromq>\lib
编译错误:
错误 1 error C1083: 无法打开包括文件: “config.hpp”: No such file or directory c:\users\lenovo\jzmq\jzmq-jni\src\main\c++\jzmq.hpp 23 1 jzmq
解决方法:在目录\ jzmq下搜索文件jzmq.hpp,然后将文件所在的目录添加到项目的”包含目录“。
错误 2 copy ..\config.hpp ..\..\..\src\main\c++\
javac ..\..\..\src\main\java\org\zeromq\ZMQ.java ..\..\..\src\main\java\org\zeromq\ZMQException.java ..\..\..\src\main\java\org\zeromq\ZMQForwarder.java ..\..\..\src\main\java\org\zeromq\ZMQQueue.java ..\..\..\src\main\java\org\zeromq\Utils.java ..\..\..\src\main\java\org\zeromq\ZMQStreamer.java ..\..\..\src\main\java\org\zeromq\EmbeddedLibraryTools.java ..\..\..\src\main\java\org\zeromq\App.java ..\..\..\src\main\java\org\zeromq\ZContext.java ..\..\..\src\main\java\org\zeromq\ZDispatcher.java ..\..\..\src\main\java\org\zeromq\ZFrame.java ..\..\..\src\main\java\org\zeromq\ZMsg.java
解决方法:在目录/jzmq下搜索上面相应的java源文件,将它们拷贝到目录目录\jzmq\jzmq-jni\src\main\java\org\zeromq\下。
然后编译,通过,在目录\jzmq\jzmq-jni\lib下生产了jzmq.dll、zmq.jar等文件。
l 编译和运行:
java -cp <jzmq>\zmq.jar test.java
将libzmq.dll和jzmq.dll拷贝到test.java运行目录,执行
java -Djava.library.path=C:\Users\lenovo\Desktop\tmp -classpath C:\Users\lenovo\Desktop\tmp\zmq.jar;. test
l ecplise中使用
a) 将zmq.jar添加到系统环境变量CLASS_PATH中
b) 将jzmq.dll和libzmq.dll所在的路径添加到系统环境变量PATH中
c) 在ecplise的项目上右击,选择”Build Path”->”Configure Build Path”,点击”Java Build Path“,选择”Libraries”,选择“Add External JARs…”,添加zmq.jar。
1.5.Linux jzmq安装
安装jzmq必须首先安装zmq。
安装过程参考地址:http://zeromq.org/bindings:java的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/jzmq下载源码,得到压缩包jzmq-master.zip(可以使用git工具下载)。
(git clone https://github.com/zeromq/jzmq)
2. 解压缩jzmq-master.zip文件,得到文件夹jzmq-master,修改jzmq-master目录名为jzmq;
3. 进入目录jzmq,执行以下命令
$ ./autogen.sh
$ ./configure
$ make
$ make install
4. 以root权限执行ldconfig
这样,jzmq就被安装在了/usr/local/目录下,libjzmq.so在目录/usr/local/lib下,zmq.jar在目录/usr/local/share/java/下。
5. 修改java环境变量CLASSPATH,添加/usr/local/share/java/zmq.jar
编译程序:
javac hwclient.java
运行程序:
java -Djava.library.path=/usr/local/lib hwclient
ZeroMQ安装使用说明
1. 安装
1.1.Linux zmq安装
安装过程参考地址:http://zeromq.org/intro:get-the-software的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/libzmq下载源码,得到压缩包libzmq-master.zip(可以使用git工具下载);
(git clone https://github.com/zeromq/libzmq)
2. 安装cmake autoconf automake libtool等工具;
3. 将libzmq-master.zip传入系统中,执行以下命令;
unzip libzmq-master.zip
mv libzmq-master.zip libzmq
cd libzmq
./autogen.sh && ./configure && make -j 4
make check && make install && sudo ldconfig
这样就安装在了目录/usr/local下了,可以在/usr/local/lib下找到动态库,可以在/usr/local/include下找到头文件。
1.2.Linux CZMQ安装
安装过程参考地址:http://api.zeromq.org/czmq3-0:czmq的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/czmq下载源码,得到压缩包czmq-master.zip(可以使用git工具下载);
(git clone https://github.com/zeromq/czmq)
2. 安装cmake autoconf automake libtool等工具;
3. 将czmq-master.zip传入系统中,执行以下命令;
unzip czmq-master.zip
mv czmq-master czmq
cd czmq
./autogen.sh
./configure
如果报以下错误:
checking for zmq_init in -llibzmq... no
configure: error: cannot link with -lzmq, install libzmq
则修改文件configure,将文件中的lllibzmq替换为lzmq,再次执行./configure
4. 执行make,再执行make check,切换到root用户,执行make install,执行ldconfig,安装完成。
安装完成后,czmq安装在了/usr/local下,可以在/usr/local/lib下找到动态库,可以在/usr/local/include下找到头文件。
1.3.Windows zmq安装
安装过程参考地址:http://zeromq.org/intro:get-the-software的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/libzmq下载源码,得到压缩包libzmq-master.zip(可以使用git工具下载)。
2. 解压缩libzmq-master.zip文件,得到文件夹libzmq-master,修改libzmq-master目录名为libzmq;
3. 在目录/libzmq/builds/msvc下存在脚本文件configure.bat,在CMD下执行这个脚本文件;
4. 用相应的VS打开目录/libzmq/builds/msvc/下对应目录下的项目,编译,就生出动态库。
生成的库在目录\libzmq\bin\Win32\Debug\v120\dynamic下,头文件在目录\libzmq\include下。
1.4.Windows jzmq安装(32位)
l 安装jzmq必须首先安装zmq。
l 安装过程参考地址:http://zeromq.org/bindings:java的说明
l 安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/jzmq下载源码,得到压缩包jzmq-master.zip(可以使用git工具下载)。
2. 解压缩jzmq-master.zip文件,得到文件夹jzmq-master,修改jzmq-master目录名为jzmq;
3. 在目录\jzmq\jzmq-jni\builds\msvc目录下用vs打开msvc.sln,修改配置:
a) 在项目jzmp上右击,选择“属性”;在“jzmq属性页”中点击“配置管理器”,选择“平台”为“Win32”,点击关闭。
b) 选择"VC++ 目录”, 将以下目录添加到”包含目录”:
<jdk>\include\win32
<jdk>\include
<zeromq>\include
c) 将以下目录添加到”库目录”:
<zeromq>\lib
编译错误:
错误 1 error C1083: 无法打开包括文件: “config.hpp”: No such file or directory c:\users\lenovo\jzmq\jzmq-jni\src\main\c++\jzmq.hpp 23 1 jzmq
解决方法:在目录\ jzmq下搜索文件jzmq.hpp,然后将文件所在的目录添加到项目的”包含目录“。
错误 2 copy ..\config.hpp ..\..\..\src\main\c++\
javac ..\..\..\src\main\java\org\zeromq\ZMQ.java ..\..\..\src\main\java\org\zeromq\ZMQException.java ..\..\..\src\main\java\org\zeromq\ZMQForwarder.java ..\..\..\src\main\java\org\zeromq\ZMQQueue.java ..\..\..\src\main\java\org\zeromq\Utils.java ..\..\..\src\main\java\org\zeromq\ZMQStreamer.java ..\..\..\src\main\java\org\zeromq\EmbeddedLibraryTools.java ..\..\..\src\main\java\org\zeromq\App.java ..\..\..\src\main\java\org\zeromq\ZContext.java ..\..\..\src\main\java\org\zeromq\ZDispatcher.java ..\..\..\src\main\java\org\zeromq\ZFrame.java ..\..\..\src\main\java\org\zeromq\ZMsg.java
解决方法:在目录/jzmq下搜索上面相应的java源文件,将它们拷贝到目录目录\jzmq\jzmq-jni\src\main\java\org\zeromq\下。
然后编译,通过,在目录\jzmq\jzmq-jni\lib下生产了jzmq.dll、zmq.jar等文件。
l 编译和运行:
java -cp <jzmq>\zmq.jar test.java
将libzmq.dll和jzmq.dll拷贝到test.java运行目录,执行
java -Djava.library.path=C:\Users\lenovo\Desktop\tmp -classpath C:\Users\lenovo\Desktop\tmp\zmq.jar;. test
l ecplise中使用
a) 将zmq.jar添加到系统环境变量CLASS_PATH中
b) 将jzmq.dll和libzmq.dll所在的路径添加到系统环境变量PATH中
c) 在ecplise的项目上右击,选择”Build Path”->”Configure Build Path”,点击”Java Build Path“,选择”Libraries”,选择“Add External JARs…”,添加zmq.jar。
1.5.Linux jzmq安装
安装jzmq必须首先安装zmq。
安装过程参考地址:http://zeromq.org/bindings:java的说明
安装步骤如下(在安装时参考安装包中的REDEME):
1. 从https://github.com/zeromq/jzmq下载源码,得到压缩包jzmq-master.zip(可以使用git工具下载)。
(git clone https://github.com/zeromq/jzmq)
2. 解压缩jzmq-master.zip文件,得到文件夹jzmq-master,修改jzmq-master目录名为jzmq;
3. 进入目录jzmq,执行以下命令
$ ./autogen.sh
$ ./configure
$ make
$ make install
4. 以root权限执行ldconfig
这样,jzmq就被安装在了/usr/local/目录下,libjzmq.so在目录/usr/local/lib下,zmq.jar在目录/usr/local/share/java/下。
5. 修改java环境变量CLASSPATH,添加/usr/local/share/java/zmq.jar
编译程序:
javac hwclient.java
运行程序:
java -Djava.library.path=/usr/local/lib hwclient
2. 使用
2.1.手册
api中文翻译手册请参考:http://www.cnblogs.com/fengbohello/p/4230135.html(中文翻译的)。
api原版:http://api.zeromq.org/4-0:zmq。
java原版手册:http://zeromq.github.io/jzmq/javadocs/,java的使用说明也可以参考中文翻译的api,接口是相似的。
使用方法参考:《ZeroMQ 云时代极速消息通信库 PDF电子书下载 带书签目录 完整版.pdf》,这本书提供了示例,包含N种语言,可以从https://github.com/imatix/zguide/tree/master/examples获取。
2.2.串行的请求/响应
图 SEQ 图 \* ARABIC 1串行的请求/响应
参考hwserver.c和hwclient.c。
常见请求/响应合法组合
REQ -> REP
DEALER -> REP
REQ -> ROUTER
DEALER -> ROUTER
DEALER -> DEALER 很难使用
ROUTER -> ROUTER 很难使用
2.3.订阅/发布
图 SEQ 图 \* ARABIC 2订阅/发布
参考wuserver.c和wuclient.c。
2.4.管道模式
图 SEQ 图 \* ARABIC 3管道模式
参考tasksink2.c、tasksink.c、taskvent.c、taskwork2.c、taskwork.c
2.5.多套接字轮训
参考mspoller.c
2.6.代理订阅发布
图 SEQ 图 \* ARABIC 4代理订阅发布
参考wuproxy.c
2.7.代理请求应答
图 SEQ 图 \* ARABIC 5代理请求应答
参考rrbroker.c、rrclient.c、rrworker.c、msgqueue.c
2.8.传输桥接
图 SEQ 图 \* ARABIC 6传输桥接
参考wuclient.c、wuproxy.c、wuserver.c
2.9.中断信号处理
参考interrupt.c
2.10. 多线程请求/响应
参考mtserver.c
2.11. 线程间信令(PAIR套接字)
参考mtrelay.c
2.12. 零拷贝
函数zmq_msg_init_data。不建议使用
2.13. 发送空帧消息
//发送一个空包
zmq_msg_t msg;
zmq_msg_init(&msg);
if (zmq_msg_send(&msg, pfd, 0) < 0)
{
zmq_msg_close(&msg);
return -1;
}
zmq_msg_close(&msg);
2.14. 可靠的请求/应答模型——请求端
l 仅当确信应答已经到达时,才轮训REQ套接字并接收它的应答;
l 如果在超时时间内没有应答到达,则重新发送一个请求;
l 如果多次请求后还是没有应答,则放弃事物。
图 SEQ 图 \* ARABIC 7可靠的请求/应答模型——请求端
参考lpclient.c
3. 出错与注意事项
3.1.常见出错原因
图 SEQ 图 \* ARABIC 8常见出错原因
3.2.zmq_msg_data(&request)不能直接用%s直接打印
3.3.结构体zmq_msg_t必须使用系统提供的函数操作
3.4.不要在创建套接字的线程外使用或者关闭该套接字
3.5.永远不要把一个zmq_msg_t对象初始化两次
zmq_msg_init()、zmq_msg_init_data()和zmq_msg_init_size()这三个函数是互斥的,对一个zmq_msg_t对象只能调用一个。
3.6.zmq_msg_t对象在调用函数zmq_msg_send后会被改变
ZeroMQ安装说明的更多相关文章
- ZeroMQ安装
一.ZeroMQ介绍 ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开发者设计分布式和并行的应用程序. 首先,我们需要明白,ZeroMQ不是传统的消息队列系统(比如Ac ...
- (转)zeromq 安装
http://youzifei.iteye.com/blog/1698237 zeromq 今天在安装zeromq的时候费了好大的力气才算装好 下面来回顾一下在linux安装zeromq的过程 首先 ...
- ZeroMQ 在 centos 6.5_x86_64 下的安装
ZeroMQ 在 centos 6.5_x86_64 下的安装 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.ZeroMQ介绍 ZeroMQ是一个开 ...
- storm安装(2)ZeroMQ、JZMQ、Python、Java环境的安装
2.ZeroMQ安装 把安装本件zeromq-2.1.7.tar.gz拷贝到home文件路径下, 给文件加入权限 chmod +x /home/zeromq-2.1.7.tar.gz 解压文件 tar ...
- Linux下zeromq.js安装
本文章主要阐述在离线环境下安装zeromq.js的方法和步骤.zeromq.js下载地址: https://www.npmjs.com/package/zeromq或者 https://github. ...
- zeromq的安装,部署(号称最快的消息队列,消息中间件)
1:Storm作为一个实时处理的框架,产生的消息需要快速的进行处理,比如存在消息队列ZeroMQ里面. 由于消息队列ZeroMQ是C++写的,而我们的程序是运行在JVM虚拟机里面的.所以需要jzmq这 ...
- 【Linux】ZeroMQ 在 centos下的安装
转自:http://www.cnblogs.com/mjorcen/p/4479642.html 一.ZeroMQ介绍 ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开 ...
- linux 下 php 安装 ZeroMQ 扩展
一.下载安装源码包 ZeroMQ源码包下载地址: http://zeromq.org/area:download 如:zeromq-4.1.4.tar.gz php的zmq扩展源码包 https: ...
- Twitter Storm安装配置(Ubuntu系统)单机版
要使用storm首先要安装以下工具:JDK.Python.zookeeper.zeromq.jzmq.storm (注:各个模块都是独立的,如果安装失败或者卡顿可以单独百度某个模块的安装,都是可以的. ...
随机推荐
- 《Linux内核设计与实现》第四周读书笔记——第五章
<Linux内核设计与实现>第四周读书笔记--第五章 20135301张忻 估算学习时间:共1.5小时 读书:1.0 代码:0 作业:0 博客:0.5 实际学习时间:共2.0小时 读书:1 ...
- 基于Winform框架DataGridView控件的SqlServer数据库查询展示功能的实现
关键词:Winform.DataGridView.SqlServer 一个基于winform框架的C/S软件,主要实现对SqlServer数据库数据表的实时查询. 一.为DataGridView添加数 ...
- tp5+layui 实现上传大文件
前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行 ...
- [置顶网]POWER 9为云与智能打造强大引擎
POWER 9为云与智能打造强大引擎 关键字: 浪潮商用机器 POWER9 至顶网服务器频道 (文/董培欣): 从全球角度看,政治经济波动持续.逆全球化趋势抬头.技术加速变革商业等因素促使企业需要数字 ...
- ESXi主机性能问题
服务器遇到一个问题 百度了下 基本发现是 四路的 windows 服务器的问题. 造成一些 性能降低. 然后查看了下几个虚拟机 的确是设置的4个虚拟插槽 根据百度的结果 要么改配置文件 要么改 这个四 ...
- [转帖]SQLSERVER 使用触发器实现 禁用sa用户 在非本机登录
原贴地址: https://blog.csdn.net/reblue520/article/details/51580102 具体的方法为: 创建一个触发器 CREATE TRIGGER forbid ...
- delphi clientdataset判断某一行值是否存在
ClientDataSet的数据查找.我所介绍的心得和技巧都是用ClientDataSet来做范例,也可以应用于其他的一些DataSet.废话就不多说了.我们还是先看代码,让后再总结.1.Scanni ...
- 神奇的Redis延迟
最近在做某业务Redis的缩容工作,涉及到数据迁移,而Redis的数据迁移看起来蛮简单的,一对一的数据迁移只需要在slave行配置masterauth 和slaveof 两个参数即可,当然迁移过程中涉 ...
- Rust 阴阳谜题,及纯基于代码的分析与化简
Rust 阴阳谜题,及纯基于代码的分析与化简 雾雨魔法店专栏 https://zhuanlan.zhihu.com/marisa 来源 https://zhuanlan.zhihu.com/p/522 ...
- WEB下载显示下载名称乱码--java
将文件名编码转换为ISO8859-1即可,如下 downloadFileName = new String(fileName.getBytes("gbk"), "ISO8 ...