java 客户端调用mq_java调用zeromq RES-REP模式

服务端启动后等待客户端连接,每个发送数据都会有相应的回应。

代码:

package com.guo.server;

import org.zeromq.ZMQ;

import org.zeromq.ZMQ.Context;

import org.zeromq.ZMQ.Socket;

public class ServerREP {

public void start(){

System.out.println("===========server start=============");

Context context = ZMQ.context(1);

Socket socket = context.socket(ZMQ.REP);

socket.bind("tcp://192.168.124.130:5555");

while(true){

byte[] request;

request = socket.recv(0);

System.out.println("Received request: [" + new String(request) + "]");

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

String replyString = "World";

byte[] reply = replyString.getBytes();

socket.send(reply, ZMQ.NOBLOCK);

if(new String(request).equals("quit")){

break;

}

}

System.out.println("===========server end=============");

}

}

客户端代码:

package com.guo.client;

import org.zeromq.ZMQ;

import org.zeromq.ZMQ.Context;

import org.zeromq.ZMQ.Socket;

public class ClientRES {

public void start(){

Context context = ZMQ.context(1);

Socket socket = context.socket(ZMQ.REQ);

socket.connect("tcp://192.168.124.130:5555");

for(int i=0;i<10;i++){

String requestString = "Hello" ;

if(i==9){

requestString = "quit" ;

}

byte[] request = requestString.getBytes();

// 发送

socket.send(request, ZMQ.NOBLOCK);

// 获得返回值

byte[] reply = socket.recv(0);

System.out.println("Received reply " + requestString + ": [" + new String(reply) + "]");

}

}

}

循环10次后系统退出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值