我检查了实现可运行接口的ZMQueue类的JeroMQ源代码,如下所示:
private final Socket inSocket;
private final Socket outSocket;
public ZMQQueue( Context context, Socket inSocket, Socket outSocket ){
this.inSocket = inSocket;
this.outSocket = outSocket;
}
@Override
public void run(){
zmq.ZMQ.proxy( inSocket.base(), outSocket.base(), null );
}正如您在run()中所看到的,只有一条语句存在,即调用
ZMQ.proxy() -这里发生了什么?
在构造师中,
它将Context实例作为参数,而不对其进行任何操作。
有人能解释一下,这个类是为了什么目的实现的吗?
发布于 2016-12-20 18:34:04
它是一个简单的代理,在单独的线程中工作,它从一个套接字中获取一个msg,并将它放到另一个套接字上,ZMQueue类只是jeromq/jzmq库中的某种高级api。
此外,您也可以使用没有ZMQueue类(文档)的代理。或者你可以用你需要的任何处理来实现更复杂的东西。
https://stackoverflow.com/questions/41032230
复制相似问题