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位)

安装jzmq必须首先安装zmq。

安装过程参考地址:http://zeromq.org/bindings:java的说明

安装步骤如下(在安装时参考安装包中的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等文件。

编译和运行:

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

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位)

安装jzmq必须首先安装zmq。

安装过程参考地址:http://zeromq.org/bindings:java的说明

安装步骤如下(在安装时参考安装包中的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等文件。

编译和运行:

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

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.      可靠的请求/应答模型——请求端

仅当确信应答已经到达时,才轮训REQ套接字并接收它的应答;

如果在超时时间内没有应答到达,则重新发送一个请求;

如果多次请求后还是没有应答,则放弃事物。

 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安装说明的更多相关文章

  1. ZeroMQ安装

    一.ZeroMQ介绍 ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开发者设计分布式和并行的应用程序. 首先,我们需要明白,ZeroMQ不是传统的消息队列系统(比如Ac ...

  2. (转)zeromq 安装

    http://youzifei.iteye.com/blog/1698237 zeromq 今天在安装zeromq的时候费了好大的力气才算装好 下面来回顾一下在linux安装zeromq的过程 首先 ...

  3. ZeroMQ 在 centos 6.5_x86_64 下的安装

    ZeroMQ 在 centos 6.5_x86_64 下的安装 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.ZeroMQ介绍 ZeroMQ是一个开 ...

  4. 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 ...

  5. Linux下zeromq.js安装

    本文章主要阐述在离线环境下安装zeromq.js的方法和步骤.zeromq.js下载地址: https://www.npmjs.com/package/zeromq或者 https://github. ...

  6. zeromq的安装,部署(号称最快的消息队列,消息中间件)

    1:Storm作为一个实时处理的框架,产生的消息需要快速的进行处理,比如存在消息队列ZeroMQ里面. 由于消息队列ZeroMQ是C++写的,而我们的程序是运行在JVM虚拟机里面的.所以需要jzmq这 ...

  7. 【Linux】ZeroMQ 在 centos下的安装

    转自:http://www.cnblogs.com/mjorcen/p/4479642.html 一.ZeroMQ介绍 ZeroMQ是一个开源的消息队列系统,按照官方的定义,它是一个消息通信库,帮助开 ...

  8. linux 下 php 安装 ZeroMQ 扩展

    一.下载安装源码包 ZeroMQ源码包下载地址: http://zeromq.org/area:download 如:zeromq-4.1.4.tar.gz   php的zmq扩展源码包 https: ...

  9. Twitter Storm安装配置(Ubuntu系统)单机版

    要使用storm首先要安装以下工具:JDK.Python.zookeeper.zeromq.jzmq.storm (注:各个模块都是独立的,如果安装失败或者卡顿可以单独百度某个模块的安装,都是可以的. ...

随机推荐

  1. 《TCP-IP详解卷1》中BGP部分的笔记

  2. ElasticSearch 2 (29) - 信息聚合系列之测试驱动

    ElasticSearch 2 (29) - 信息聚合系列之测试驱动 摘要 我们可以用以下几页定义不同的聚合和它们的语法,但学习聚合的最佳途径就是用实例来说明.一旦我们获得了聚合的思想,以及如何合理地 ...

  3. Software-Defined Networking:A Comprehensive Survey--Day3

    (接Day2的内容 +2s) E. Layer V: Northbound Interfaces 南行接口已经得到广泛接受(OpenFlow),但现在就定义北向接口还为时尚早,开发不同的控制器经验一定 ...

  4. adb 安装apk报INSTALL_FAILED_NO_MATCHING_ABIS

    想在模拟器中安装搜狗拼音输入法,结果安装的时候报错:INSTALL_FAILED_NO_MATCHING_ABIS 上网搜索发现解决方法如下: 原博客:使用Genymotion调试出现错误INSTAL ...

  5. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 0. 准备工作

    一.关于 Python Python 是全球使用人数增长最快的编程语言!它易于入门.功能强大,从 Web 后端 到 数据分析.人工智能,到处都能看到 Python 的身影. Python 有两个主要的 ...

  6. #pragma once 与 #ifndef 的使用

    为了防止头文件被重复包含,主要有两种方式: 方式一:使用 #ifndef #ifndef OPTIONAL_TEST_H #define OPTIONAL_TEST_H //............. ...

  7. BZOJ4628 BJOI2016IP地址(trie)

    离线,每次修改相当于对该规则的所有匹配点的值+1,考虑在trie上打加法标记和匹配标记,匹配标记不下传,加法标记下传遇到匹配标记时清空.注意是用b时刻前缀-a时刻前缀,而不是(a-1)时刻前缀,具体我 ...

  8. 【BZOJ】1002:轮状病毒(基尔霍夫矩阵【附公式推导】或打表)

    Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图 ...

  9. Delphi 的内存操作函数(5): 复制内存

    MoveMemory.CopyMemory 的功能类似, 都是复制内存, 都是调用 Move 过程; MoveMemory.CopyMemory 操作指针; Move 操作实体. 还要注意, 它们的参 ...

  10. 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二)

    http://blog.csdn.net/jiuqiyuliang/article/details/19967031 目录: 基于asp.net + easyui框架,一步步学习easyui-data ...