`
kisseveryone
  • 浏览: 197676 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

用java调用zeromq

 
阅读更多
Ø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





分享到:
评论
3 楼 Rainyn 2016-09-07  
$ wget https://github.com/zeromq/jzmq/archive/master.tar.gz

这一步是个坑。官网一直没有更新文档。
但是github上版本一直在更新,按照这个地址下载的需要配置maven,如果嫌麻烦,建议去CSDN找一个老版本的jzmq使用。
2 楼 zhuosh 2015-09-08  
在吗  这个安装到./autogen.sh    就出问题了
1 楼 智在千里 2013-12-30  
这个附件不是android程序吗,我无法导入eclipse

相关推荐

    ZeroMQ及java绑定

    在Windows系统中,这个库文件用于在Java应用中调用ZeroMQ的C API。开发者通常不需要直接与libzmq.dll打交道,而是通过Java绑定层进行交互。 jzmq.dll是ZeroMQ的Java绑定库,它提供了Java接口,允许Java程序员使用...

    ZeroMQ 用于JAVA的jar和lib库

    1. **jzmq是ZeroMQ的Java绑定**:它提供了Java API,使得Java开发者可以直接调用ZeroMQ的函数,进行低延迟、高吞吐量的网络通信。 2. **版本3.1**:jzmq 3.1版本可能不包含最新特性,但对JDK 1.6和1.7的支持确保了...

    zeromq forJava的.jar包 和dll文件

    首先,`zeromq.jar` 文件是ZeroMQ Java API的二进制库,它允许Java开发者通过调用Java类和方法来利用ZeroMQ的功能。这个JAR文件包含了ZeroMQ的核心功能,如创建套接字(sockets)、发送和接收消息、设置连接选项等。...

    zeroMQ/jzmq java例子

    "zeroMQ_Demo"压缩包中的代码示例涵盖了上述各种模式,通过阅读和运行这些示例,你可以直观地了解如何在Java中使用jzmq实现ZeroMQ的各种功能。这些示例将帮助你掌握ZeroMQ的基本用法,为以后的项目开发打下基础。 ...

    zeromq应用于java的.jar .lib .dll

    2. **jzmq**: jzmq是zeromq的Java绑定,它允许Java开发者直接在Java代码中使用zeromq的功能。jzmq.dll是jzmq的动态链接库,它实现了Java Native Interface (JNI),使Java代码能够调用C++编写的zeromq库。同时,jzmq....

    zeroMQ应用于java的jar和lib库

    JZMQ是ZeroMQ官方推荐的Java绑定,它提供了一个纯Java的API,使得Java开发者可以直接调用ZeroMQ的功能,而无需关心底层的C/C++实现。这里的`semver-90-g58c6108`可能是使用了语义化版本控制(Semantic Versioning)...

    zeromq.zip

    在这个zip文件中,“include”目录下有头文件,这些头文件包含了定义ZeroMQ API的必要声明,开发者可以引用这些头文件来调用ZeroMQ的功能。例如,` zmq.h `是主要的头文件,包含了所有基本的ZeroMQ类型和函数原型。 ...

    zeromq+jzmq win 64编译

    3. 如果是开发环境,还需确保`jzmq.lib`被链接器正确引用,以便编译出能够调用zeromq功能的Java Native Interface (JNI) 库。 通过这些文件,开发者可以在Java项目中使用zeromq,构建分布式系统、实现高效的异步...

    Anroid JNI版本的ZEROMQ

    3. **实现JNI函数**:在C/C++源文件中(如`zmq_jni.cpp`)实现这些函数,调用ZeroMQ的API。 4. **Java层接口**:在Java代码中,使用`System.loadLibrary("jzmq")`加载库,并定义对应的JNI方法,如`native void ...

    zeromq jmq 32bit

    压缩包内的"jzmq dll x32"可能是指Java语言的zeromq绑定,即Java接口,允许Java程序直接调用zeromq的功能。"jzmq"通常指的是Java语言的zeromq绑定项目,它提供了Java API来操作zeromq的插座。"x32"进一步强调这是为...

    zeromq的Android简单实现

    首先,要使用ZeroMQ在Android上工作,我们需要获取适用于Android的ZeroMQ库。这通常涉及到将Java版本的ZeroMQ库(如`libzmq.jar`和`jeromq.jar`)与Android兼容的版本结合。这些库可以从ZeroMQ的官方网站或第三方...

    ZeroMQ.rar

    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是一种高度灵活且功能强大的消息队列库,它将复杂的网络通信抽象化,使得开发人员能够轻松地构建分布式应用程序。ZeroMQ的核心设计理念是提供一种轻...

    zeromq 库文件

    1. **jzmq.dll**:这是一个Java本地接口(JNI)库,允许Java应用程序直接调用ZeroMQ的C库函数。DLL(动态链接库)是Windows操作系统中的共享库,它包含了可被多个程序同时使用的代码和数据。jzmq.dll为Java应用提供...

    ZeroMQ jzmq Win32编译发布文件

    当Java应用调用jZMQ API时,实际上是通过这个dll文件与ZeroMQ的C++实现进行交互。 3. **zmq.jar**:这是jZMQ的Java类库文件,包含了所有的Java接口和实现,使得Java开发者能够方便地在代码中使用ZeroMQ的功能。此...

    ZEROmq实例

    7. **调试与运行**:在VS中,我们可以设置断点、查看变量、调用堆栈等,帮助我们理解和调试ZeroMQ程序。 8. **错误处理**:使用ZeroMQ时,必须妥善处理可能出现的错误,如连接失败、消息发送超时等。 9. **性能...

    zeromq-4.3.2.tar.gz

    安装完成后,可以使用C、C++、Python、Java等多种语言的API来调用zeromq,进行socket开发。它提供的API简洁易用,同时保持了高性能。 zeromq的一个亮点是它的多线程支持。通过使用高效的I/O模型,zeromq可以在单个...

    消息队列zeromq学习的安装包之一libsodium

    这些绑定库允许你在编程语言中直接调用zeromq的API,简化开发流程。确保安装对应的语言绑定库,并遵循它们的文档进行配置和使用。 总结来说,zeromq和libsodium共同构成了一个强大且安全的消息队列系统。通过理解和...

    jzmq_x64.rar

    将libzmq.dll放入JDK的bin目录,使得Java能够调用ZeroMQ的原生函数,实现了Java与ZeroMQ之间的交互。 2. **jzmq.dll**:这是Java语言的ZeroMQ绑定,它是Java Native Interface (JNI) 库,用于在Java代码中调用...

Global site tag (gtag.js) - Google Analytics