[英]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.