ZeroMQ-测试

发送

import org.zeromq.SocketType;
import org.zeromq.ZContext;
import org.zeromq.ZMQ;

public class MqPub {

    public static void main(String[] args) {
        ZContext context = new ZContext();;
        ZMQ.Socket socket  = context.createSocket(SocketType.PUB);
        socket.bind("tcp://*:5566");

        try {
            while (true){
                String topic = "AA";
                String data = "我是aa啊"+System.currentTimeMillis();
                socket.sendMore(topic);
                socket.send(data);
                System.out.println("主题:"+topic+" 消息"+data);
               
                Thread.sleep(60*1000); 
            }
        } catch (Exception e) {
                    e.printStackTrace();
        }finally{
            socket.close();
            context.close();
        }
    }
}

接收

import org.zeromq.SocketType;
import org.zeromq.ZContext;
import org.zeromq.ZMQ;

public class MqSub {
    public static void main(String[] args) {
        ZContext context = new ZContext(1);
        ZMQ.Socket receiver  = context.createSocket(SocketType.SUB);
        receiver.bind("tcp://localhost:5577");
        receiver.subscribe("AA");

        try {
            while(true){
                byte[] topicRecv = receiver.recv();
                byte[] dataRecv = receiver.recv();
                System.out.print("主题:"+new String(topicRecv));
                System.out.println(" 消息:"+new String(dataRecv));
                
                Thread.sleep(5*1000);
            }
        } catch (Exception e) {
                    e.printStackTrace();
        }finally{
            receiver.close();
            context.close();
        }
    }
}

 

posted @ 2020-12-12 22:22  快乐的额  阅读(153)  评论(0)    收藏  举报