Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java库ZMQ不工作_Java_Zeromq_Bitcoin_Jzmq - Fatal编程技术网

Java库ZMQ不工作

Java库ZMQ不工作,java,zeromq,bitcoin,jzmq,Java,Zeromq,Bitcoin,Jzmq,我正在尝试使用ZMQ Java库连接到比特币节点。问题是,当我尝试接收响应时,代码仍然冻结。不返回任何内容 这是我的代码: public class CBETest { private static final String TEST_URL = "obelisk.airbitz.co"; public static void main(String[] args) { System.out.println("\t--- ZMQ ---"); C

我正在尝试使用ZMQ Java库连接到比特币节点。问题是,当我尝试接收响应时,代码仍然冻结。不返回任何内容

这是我的代码:

public class CBETest {

    private static final String TEST_URL = "obelisk.airbitz.co";

    public static void main(String[] args) {

       System.out.println("\t--- ZMQ ---");
       Ctx c = zmq.ZMQ.createContext();
       SocketBase s = c.createSocket(zmq.ZMQ.ZMQ_DEALER);

       zmq.ZMQ.connect(s, "tcp://"+TEST_URL+":9091");
       System.out.println("Connected!");
       int sent = zmq.ZMQ.send(s, "blockchain.fetch_last_height", 0);

       System.out.println("Sent: " + sent);
       Msg msg = zmq.ZMQ.recv(s, 0);
       System.out.println("Response " + Arrays.toString(msg.data()));
    }
}

代码冻结在行
Msg Msg=zmq.zmq.recv(s,0)中。我正在使用为完整节点实现描述的调用。提前谢谢

代码没有冻结,它在等待接收消息时被阻塞

我建议您将上述代码放在thread/runnable类中,并使用localhost作为测试URL并启动服务器

然后用一个客户端创建另一个可运行类,该客户端尝试连接到该端口并发送回一条消息,然后启动该线程并查看消息是否通过

这里有一个例子: