ZeroMQ:订阅-发布模式的java程序示例
2015-05-04 14:51
459 查看
ZeroMQ:订阅-发布模式的java程序示例
休息完了我们可以接着我们的旅程了,现在我们来验证下自己编译生成的东西是否能用,
具体怎么编译就请回顾我们的上期旅行http://blog.csdn.net/sinat_19351993/article/details/45477743
首先把我们的要用到的东西拿过来 libzmq.dll ,jzmq.dll和zmq.jar
libzmq.dll 和jzmq.dll的文件目录要加到path环境变量中,或者再简单点也可以这么办,把它俩直接放在jdk当中Java\jdk7\bin也就相当于加到path环境变量中去了。zmq.jar就直接放到项目的lib目录下面就可以了。
下面就开始验证是否能用了
发布-订阅者模式之发布服务
发布-订阅者模式之订阅客户端。持续接收消息
下面启动项目吧。然后先运行ZMQ_SUB.java 订阅,再运行ZMQ_PUB.java 发布
得到如下结果
ZMQ_PUB.java 发布:
ZMQ_SUB.java 订阅
若是先运行ZMQ_PUB.java 发布,再运行ZMQ_SUB.java 订阅,结果又是另一种
ZMQ_PUB.java 发布:
ZMQ_SUB.java 订阅:
好了,现在也验证完了,我自己编译生成的是可以用的,旅行结束,回家吃饭去。拜拜
休息完了我们可以接着我们的旅程了,现在我们来验证下自己编译生成的东西是否能用,
具体怎么编译就请回顾我们的上期旅行http://blog.csdn.net/sinat_19351993/article/details/45477743
首先把我们的要用到的东西拿过来 libzmq.dll ,jzmq.dll和zmq.jar
libzmq.dll 和jzmq.dll的文件目录要加到path环境变量中,或者再简单点也可以这么办,把它俩直接放在jdk当中Java\jdk7\bin也就相当于加到path环境变量中去了。zmq.jar就直接放到项目的lib目录下面就可以了。
下面就开始验证是否能用了
发布-订阅者模式之发布服务
import org.zeromq.ZMQ; import org.zeromq.ZMQ.Context; import org.zeromq.ZMQ.Socket; public class ZMQ_PUB { public static void main(String[] args) throws InterruptedException { //准备上下文和套接字 Context context = ZMQ.context(1); Socket publisher = context.socket(ZMQ.PUB); publisher.bind("tcp://*:5555"); //发布100条消息 Thread.sleep(1000); for (int i = 0; i < 100; i++) { publisher.send(("admin " + i).getBytes(), ZMQ.NOBLOCK); System.out.println("pub msg " + i); Thread.sleep(1000); } //关闭套接字和上下文 publisher.close(); context.term(); } }
发布-订阅者模式之订阅客户端。持续接收消息
import org.zeromq.ZMQ; import org.zeromq.ZMQ.Context; import org.zeromq.ZMQ.Socket; public class ZMQ_SUB { public static void main(String[] args) { //准备上下文 //套接字连接至服务器 Context context = ZMQ.context(1); Socket subscriber = context.socket(ZMQ.SUB); subscriber.connect("tcp://localhost:5555"); //订阅任何主题(An empty 'option_value' of length zero shall subscribe to all incoming messages) subscriber.subscribe("".getBytes()); for (int i=0;i<100;i++) { //Receive a message. String string = new String(subscriber.recv(0)); System.out.println("recv 1" + string); } //关闭套接字和上下文 subscriber.close(); context.term(); } }
下面启动项目吧。然后先运行ZMQ_SUB.java 订阅,再运行ZMQ_PUB.java 发布
得到如下结果
ZMQ_PUB.java 发布:
ZMQ_SUB.java 订阅
若是先运行ZMQ_PUB.java 发布,再运行ZMQ_SUB.java 订阅,结果又是另一种
ZMQ_PUB.java 发布:
ZMQ_SUB.java 订阅:
好了,现在也验证完了,我自己编译生成的是可以用的,旅行结束,回家吃饭去。拜拜
相关文章推荐
- 水晶报表问题汇总(水晶报表的使用与查询条件生成报表、注册码、打印问题、模式使用示例、C#.Net的WinForm中的使用、程序发布与部署)
- LocalOS 0.1.1 版发布(内附本程序源码及Java版网游找CALL示例源码)
- LocalOS 0.1.1 版发布(内附本程序源码及Java版网游找CALL示例源码)
- LocalOS 0.1.1 版发布(内附本程序源码及Java版网游找CALL示例源码)
- LocalOS 0.1.1 版发布(内附本程序源码及Java版网游找CALL示例源码)
- zeroMQ/jzmq REQ/REP(c/s)模式及java代码示例
- zeromq/jzmq pub/sub发布订阅java代码
- zeromq/jzmq 基于信封-内容的pub/sub发布订阅java代码
- 《重构》 — Java示例:影片出租店程序(6、重构——引入状态模式)
- zeroMQ初体验-2.发布订阅模式(pub/sub)
- zeroMQ初体验-13.发布/订阅模式 进阶
- zeroMQ初体验-30.发布/订阅模式进阶-自裁的蜗牛订阅者
- zeroMQ初体验-31.发布/订阅模式进阶-黑盒的高速订阅者
- zeroMQ初体验-32.发布/订阅模式进阶-克隆模式-上
- zeroMQ初体验-34.发布/订阅模式进阶-克隆模式-下,结言
- 基于topic的发布/订阅模式在UI程序中的应用
- 初探ZeroMQ(三) 发布-订阅模式中套结字总结
- Javascript设计模式-发布/订阅模式最小化的示例
- Java设计模式之观察者模式(发布/订阅模式)
- Java 设计模式之观察者模式(发布/订阅模式)