ZeroMQITeyefenghuang - 超凡娱乐

ZeroMQITeyefenghuang

2019-01-31 11:21:33 | 作者: 鸿卓 | 标签: 发送数据,线程,数据 | 浏览: 3847

ZeroMQ是一个网络通讯结构.
相关协助文档地址: https://zguide.zeromq.org/page:all#Handling-Multiple-Sockets

通讯形式暗示:Request/Response

ON SERVER

server端的代码:

package test;
import org.zeromq.ZMQ;
public class Response {
 public static void main (String[] args) {
 ZMQ.Context context = ZMQ.context(1); //创立用于一个I/O线程的context
 ZMQ.Socket socket = context.socket(ZMQ.REP); //创立一个response类型的socket,服务端承受Request.
 socket.bind ("tcp://*:5555"); //端口绑定
 int i = 0;
 int number = 0;
 while (!Thread.currentThread().isInterrupted()) {
 i++;
 if (i  10000) {
 i = 0;
 System.out.println(++number);
 byte[] request = socket.recv(); //获取request数据
 //System.out.println("receive : " + new String(request));
 String response = "world";
 socket.send(response.getBytes()); //向request端发送数据 ,必需要要request端回来数据,没有回来就又recv,将会犯错,这儿能够理解为强制要求走完整个request/response流程
 socket.close(); //封闭socket
 context.term(); //封闭当时的上下文
}





客户端


package test;
import org.zeromq.ZMQ;
public class Request {
 public static void main(String args[]) {
 for (int j = 0; j j++) {
 new Thread(new Runnable(){
 public void run() {
 // TODO Auto-generated method stub
 ZMQ.Context context = ZMQ.context(1); //创立一个I/O线程的上下文
 ZMQ.Socket socket = context.socket(ZMQ.REQ); //客户端,用于向response端发送数据
 socket.connect("tcp://127.0.0.1:5555"); //与response端树立衔接
 long now = System.currentTimeMillis();
 for (int i = 0; i 100000; i++) {
 String request = "hello";
 socket.send(request.getBytes()); //向reponse端发送数据
 byte[] response = socket.recv(); //接纳response发送回来的数据 正在request/response模型中,send之后必需要recv之后才干持续send,这可能是为了确保整个request/response的流程走完
 // System.out.println("receive : " + new String(response));
 long after = System.currentTimeMillis();
 System.out.println((after - now) / 1000);
 }).start();;
}





创立了包括一个线程的context,然后创立了一个REQ,也就是request类型的socket,然后与5555端口树立衔接,然后就进入了循环,不断的向服务端发送数据,然后接纳数据。。。

Maven 相关依靠装备
 
 dependency 
 groupId org.zeromq /groupId 
 artifactId jeromq /artifactId 
 version 0.3.1 /version 
 /dependency 
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章