2016-01-04 3 views
0

Я пытаюсь подключиться к узлу биткойна, используя библиотеку ZMQ для Java. проблема в том, что когда я пытаюсь получить ответ, код остается замороженным. Ничего не возвращает.Библиотека 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);. Я использую вызовы, описанные here для полной реализации узла. Заранее спасибо!

ответ

0

Код не замерзает, он блокируется, ожидая получения сообщения.

Я бы предложил, чтобы вы поместили свой выше код в класс thread/runnable и использовали localhost как TEST_URL и запустили сервер.

Затем создайте еще один класс Runnable с клиентом, который пытается подключиться к этому порту и отправить сообщение и запустить этот поток и посмотреть, прошло ли сообщение.

Здесь есть пример: http://zguide.zeromq.org/java:rtdealer

 Смежные вопросы

  • Нет связанных вопросов^_^