ØMQ(Zeromq)
官方主页:http://zguide2.zeromq.org/page:all
zeromq下载地址:http://download.zeromq.org/
这个东西好像都是用c写的,应该高效吧。。
但是在网上找了半天,想用java调用zeromq只能用到jzmq这个东西,
但是发现用java调zeromq的人很少。。蛋疼
更加蛋疼的是jzmq.jar在window环境下面必须得用.net vs2008编译生成jzmq.dll等文件才行。。我没有vs2008下载vs2008有5.9G啊。。。。
没办法,在csdn上花了5分下载了jzmq.dll\jzmq.jar文件,
有人跟我一样碰到过jzmq.dll: Can't find dependent libraries 吗,我乐个草的。。解决不了
Note that ØMQ and JDK header file has to be on "include path" (Tools|Options|Projects and Solutions|VC++ Directories|Include files) and ØMQ libraries have to be on "library path" (Tools|Options|Projects and Solutions|VC++ Directories|Library files):
Include files:
<jdk>\include\win32
<jdk>\include
<zeromq>\include
Library files:
<zeromq>\lib
是不是必须要自己编译生成的dll才行呢?
linux不需要dll,最终放弃在window上面运行zeromq,试试在linux环境下编译
添加java环境到系统环境变量里面
$ vim /etc/profile
export PATH=$PATH:$JAVA_HOME/bin
$ source /etc/profile
下载安装zeromq
$ wget http://download.zeromq.org/zeromq-2.2.0.tar.gz
$ tar zxvf zeromq-2.2.0.tar.gz
$ cd zeromq-2.2.0
$ ./configure --with-pgm
$ make
$ make install
下载安装jzmq
$ wget https://github.com/zeromq/jzmq/archive/master.tar.gz
$ mv master.tar.gz ./zeromq-2.2.0/jzmq.tar.gz
$ cd zeromq-2.2.0
$ tar zxvf jzmq.tar.gz
$ cd jzmq
$ ./autogen.sh
$ ./configure
$ touch src/classdist_noinst.stamp
$ cd src/org/zeromq/$ javac *.java
$ cd ../../../
$ make
$ make install
配置环境变量
$ echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
$ ldconfig
$ echo CLASSPATH=/usr/local/share/java/zmq.jar:.>> /etc/environmentecho
$ export
LD_LIBRARY_PATH=/usr/local/lib> /etc/profile.d/ldlibrarypath.sh
测试
$ cd ./zeromq-2.2.0/jzmq
$ java -Djava.library.path=/usr/local/lib -cp .:./src/zmq.jar:./src/zmq-perf.jar local_lat tcp://127.0.0.1:5555 1 100
在开一个终端
$ cd ./zeromq-2.2.0/jzmq
$ java -Djava.library.path=/usr/local/lib -cp .:./src/zmq.jar:./src/zmq-perf.jar remove_lat tcp://127.0.0.1:5555 1 100
可以看到输出如下:
message size: 1 [B]
roundtrip count: 100
mean latency: 275.0 [us]
成功
附件是 cs和pub/sub的java实例,运行先运行client在server,先sub在pub
分享到:
相关推荐
在Windows系统中,这个库文件用于在Java应用中调用ZeroMQ的C API。开发者通常不需要直接与libzmq.dll打交道,而是通过Java绑定层进行交互。 jzmq.dll是ZeroMQ的Java绑定库,它提供了Java接口,允许Java程序员使用...
1. **jzmq是ZeroMQ的Java绑定**:它提供了Java API,使得Java开发者可以直接调用ZeroMQ的函数,进行低延迟、高吞吐量的网络通信。 2. **版本3.1**:jzmq 3.1版本可能不包含最新特性,但对JDK 1.6和1.7的支持确保了...
首先,`zeromq.jar` 文件是ZeroMQ Java API的二进制库,它允许Java开发者通过调用Java类和方法来利用ZeroMQ的功能。这个JAR文件包含了ZeroMQ的核心功能,如创建套接字(sockets)、发送和接收消息、设置连接选项等。...
"zeroMQ_Demo"压缩包中的代码示例涵盖了上述各种模式,通过阅读和运行这些示例,你可以直观地了解如何在Java中使用jzmq实现ZeroMQ的各种功能。这些示例将帮助你掌握ZeroMQ的基本用法,为以后的项目开发打下基础。 ...
2. **jzmq**: jzmq是zeromq的Java绑定,它允许Java开发者直接在Java代码中使用zeromq的功能。jzmq.dll是jzmq的动态链接库,它实现了Java Native Interface (JNI),使Java代码能够调用C++编写的zeromq库。同时,jzmq....
JZMQ是ZeroMQ官方推荐的Java绑定,它提供了一个纯Java的API,使得Java开发者可以直接调用ZeroMQ的功能,而无需关心底层的C/C++实现。这里的`semver-90-g58c6108`可能是使用了语义化版本控制(Semantic Versioning)...
在这个zip文件中,“include”目录下有头文件,这些头文件包含了定义ZeroMQ API的必要声明,开发者可以引用这些头文件来调用ZeroMQ的功能。例如,` zmq.h `是主要的头文件,包含了所有基本的ZeroMQ类型和函数原型。 ...
3. 如果是开发环境,还需确保`jzmq.lib`被链接器正确引用,以便编译出能够调用zeromq功能的Java Native Interface (JNI) 库。 通过这些文件,开发者可以在Java项目中使用zeromq,构建分布式系统、实现高效的异步...
3. **实现JNI函数**:在C/C++源文件中(如`zmq_jni.cpp`)实现这些函数,调用ZeroMQ的API。 4. **Java层接口**:在Java代码中,使用`System.loadLibrary("jzmq")`加载库,并定义对应的JNI方法,如`native void ...
压缩包内的"jzmq dll x32"可能是指Java语言的zeromq绑定,即Java接口,允许Java程序直接调用zeromq的功能。"jzmq"通常指的是Java语言的zeromq绑定项目,它提供了Java API来操作zeromq的插座。"x32"进一步强调这是为...
首先,要使用ZeroMQ在Android上工作,我们需要获取适用于Android的ZeroMQ库。这通常涉及到将Java版本的ZeroMQ库(如`libzmq.jar`和`jeromq.jar`)与Android兼容的版本结合。这些库可以从ZeroMQ的官方网站或第三方...
2. **jzmq.dll**:这是ZeroMQ的Java绑定,通常与Java Native Access (JNA) 一起使用,允许Java应用程序调用ZeroMQ的原生库。 3. **zmq-jvm16-3.1.jar** 和 **zmq-jvm17-3.1.jar**:这两个是ZeroMQ的Java版库文件,...
### ZeroMQ使用环境和结构详细分析 #### 一、ZeroMQ概述 ZeroMQ是一种高度灵活且功能强大的消息队列库,它将复杂的网络通信抽象化,使得开发人员能够轻松地构建分布式应用程序。ZeroMQ的核心设计理念是提供一种轻...
1. **jzmq.dll**:这是一个Java本地接口(JNI)库,允许Java应用程序直接调用ZeroMQ的C库函数。DLL(动态链接库)是Windows操作系统中的共享库,它包含了可被多个程序同时使用的代码和数据。jzmq.dll为Java应用提供...
当Java应用调用jZMQ API时,实际上是通过这个dll文件与ZeroMQ的C++实现进行交互。 3. **zmq.jar**:这是jZMQ的Java类库文件,包含了所有的Java接口和实现,使得Java开发者能够方便地在代码中使用ZeroMQ的功能。此...
7. **调试与运行**:在VS中,我们可以设置断点、查看变量、调用堆栈等,帮助我们理解和调试ZeroMQ程序。 8. **错误处理**:使用ZeroMQ时,必须妥善处理可能出现的错误,如连接失败、消息发送超时等。 9. **性能...
安装完成后,可以使用C、C++、Python、Java等多种语言的API来调用zeromq,进行socket开发。它提供的API简洁易用,同时保持了高性能。 zeromq的一个亮点是它的多线程支持。通过使用高效的I/O模型,zeromq可以在单个...
这些绑定库允许你在编程语言中直接调用zeromq的API,简化开发流程。确保安装对应的语言绑定库,并遵循它们的文档进行配置和使用。 总结来说,zeromq和libsodium共同构成了一个强大且安全的消息队列系统。通过理解和...
将libzmq.dll放入JDK的bin目录,使得Java能够调用ZeroMQ的原生函数,实现了Java与ZeroMQ之间的交互。 2. **jzmq.dll**:这是Java语言的ZeroMQ绑定,它是Java Native Interface (JNI) 库,用于在Java代码中调用...