Я пытаюсь запустить программу Zeromq java в ОС Windows 10.Чтобы настроить среду, я попытался сделать следующее.
1) Загрузите и установите здесь библиотеку Java для ZMQ http://zeromq.org/distro:microsoft-windows.
2) Добавьте путь в средупеременные.
3) Пытался запустить простой код Hello World из zguide.
Сервер:
import org.zeromq.ZMQ;
public class Hwserver {
public static void main(String[] args) throws Exception {
ZMQ.Context context = ZMQ.context(1);
// Socket to talk to clients
ZMQ.Socket responder = context.socket(ZMQ.REP);
responder.bind("tcp://*:5555");
while (!Thread.currentThread().isInterrupted()) {
// Wait for next request from the client
byte[] request = responder.recv(0);
System.out.println("Received " + new String (request));
// Do some 'work'
Thread.sleep(1000);
// Send reply back to client
String reply = "World";
responder.send(reply.getBytes(), 0);
}
responder.close();
context.term();
}
}
Клиент:
import org.zeromq.ZMQ;
public class Hwclient {
public static void main(String[] args) {
ZMQ.Context context = ZMQ.context(1);
// Socket to talk to server
System.out.println("Connecting to hello world server…");
ZMQ.Socket requester = context.socket(ZMQ.REQ);
requester.connect("tcp://localhost:5555");
for (int requestNbr = 0; requestNbr != 10; requestNbr++) {
String request = "Hello";
System.out.println("Sending Hello " + requestNbr);
requester.send(request.getBytes(), 0);
byte[] reply = requester.recv(0);
System.out.println("Received " + new String(reply) + " " + requestNbr);
}
requester.close();
context.term();
}
}
При попытке скомпилировать сервер я получил следующую ошибку.
error: cannot find symbol import org.zeromq.ZMQ;
После этого я попытался установить библиотеку вручную.Я сделал следующее.
1) Скачал и разархивировал Libzmq-master и jzmq-master с Github.
2) С помощью Visual Studio 2017 попытался собрать libzmq.sln & msvc.sln изкаталог здесь
libzmq - libzmq-master \ builds \ deprecated-msvc \ vs2017 \ libzmq.sln
jzmq - jzmq-master \ jzmq-jni \ builds \ msvc \ msvc.sln
Но не смог его построить.Нахождение нескольких ошибок.Например:
libzmq - #error: Не определено ни одного макроса ZMQ_IOTHREAD_POLLER_USE_ * (компиляция исходного файла ........ \ src \ client.cpp) libzmq c: \ users \ shiha \ downloads \libzmq-master \ src \ poller.hpp
jzmq - Невозможно открыть включаемый файл: 'zmq.h': нет такого файла или каталога
Я не понимаю, что я делаю неправильно.Я следовал руководству, предоставленному на zeromq.org, а также искал похожую проблему.Но не смог найти решение.