[英]Library ZMQ for Java not work
我正在尝试使用用于Java的ZMQ库连接到比特币节点。 问题是,当我尝试接收响应时,代码仍然冻结。 不返回任何内容。
这是我的代码:
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);
。 我将此处描述的调用用于完整的节点实现。 提前致谢!
该代码未冻结,正在等待接收消息时正在阻塞。
我建议您将上述代码放在线程/可运行类中,并使用localhost作为TEST_URL并启动服务器。
然后使用尝试连接到该端口并发送回消息的客户端创建另一个Runnable类,并启动该线程并查看消息是否通过。
这里有一个示例:http: //zguide.zeromq.org/java : rtdealer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.