大家好,我试图按照以下位置的说明进行操作:https://github.com/nathanmarz/storm/wiki/Installing-native-dependencies,用于在Ubuntu 12.04计算机上安装Zero MQ作为Storm的依赖项.但是,当尝试运行make命令时,我收到以下错误
Making all in src
make[1]: Entering directory `/home/localadmin/jzmq/src'
make[1]: *** No rule to make target `classdist_noinst.stamp', needed by `org/zeromq/ZMQ.class'. Stop.
make[1]: Leaving directory `/home/localadmin/jzmq/src'
make: *** [all-recursive] Error 1
Run Code Online (Sandbox Code Playgroud)
有没有人知道这个错误源于何处以及我如何能够纠正它?
尝试按照以下说明进行操作:http://github.com/zeromq/jzmq
我使用Homebrew安装了pkg-config,然后运行以下命令:./ autogen.sh ./configure
配置失败:
checking how to hardcode library paths into programs... immediate
./configure: line 15263: syntax error near unexpected token `newline'
./configure: line 15263: ` PKG_CHECK_MODULES('
我想使用ZeroMQ(java绑定,jzmq)将客户端连接到服务器,但我需要严重的TCP信息,例如客户端请求的TCP/IP地址!问题是,为了能够在网络中宣布服务,我需要获取请求的TCP地址,以便能够将客户端重定向到该服务.在这种情况下,经纪人是一个中央"服务注册机构".但是,双方都有ZeroMQ服务,我没有看到检索该信息的选项.
我现在所做的是使用标准套接字建立到代理的虚拟连接,在建立连接后,我获取用于此连接的IP地址并再次关闭连接.已检索到的IP地址现在用于在随机端口上使用ZeroMQ套接字绑定它.
我认为这个解决方案是有史以来最丑陋的解决方案,因此:对这个问题有什么更好的解决方案?
问候.
有没有办法检查是否连接了JZMQ(zmq的java绑定)套接字?
ZContext zmqContext = new ZContext();
ZMQ.Socket workerSocket = zmqContext.createSocket(ZMQ.DEALER);
workerSocket.setIdentity("ID".getBytes());
workerSocket.connect("tcp://localhost:5556");
Run Code Online (Sandbox Code Playgroud)
在上面的代码之后,我想检查workerSocket是否已连接.检查连接状态会很好.
简单的问题.为什么在java上"移植"zmq并称之为JeroMQ是个好主意?
我一直在阅读关于ZeroMQ的更多关于NetMQ的内容以及我看到用于绑定Publisher套接字然后订阅者套接字连接到另一个的几乎所有Pub/Sub示例.
所以我想知道是否可以做反向,我的意思是绑定订阅者套接字,然后发布者连接到它.
这可能吗 ?(我在文档中没有发现任何明确的内容)使用此连接策略有哪些缺点?
任何帮助都是有用的.
我在运行CentOS的VM上安装了0MQ,我有一个基于C的应用程序,很高兴使用它.但是,我无法通过JZMQ绑定使Java应用程序工作.这是我得到的错误:
java -Djava.library.path=/usr/local/lib -jar AidApps.jar receive localhost:9007
Starting the receiver application.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/local/lib/libjzmq.so.0.0.0: libzmq.so.1: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1675)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
at org.zeromq.ZMQ.<clinit>(ZMQ.java:34)
at com.ijet.Receiver.main(Receiver.java:9)
at com.ijet.Main.main(Main.java:13)
Run Code Online (Sandbox Code Playgroud)
在安装0MQ或JZMQ期间,我没有遇到任何错误.我尝试将所有库复制到/ usr/local/lib但是没有解决任何问题.有任何想法吗?这适用于我的Mac(所以我知道JAR可以工作),但不适用于Linux机器.
我正在尝试使用XPUB和XSUB来实现,如下图所示。我已经仔细阅读了所提供的示例,但在Java中无法获得XPUB和XSUB的示例。在这里,他们给出了一个用C编写的示例,该示例有点复杂,因为我是ZeroMQ的新手。
我正在尝试使用jni包装版本在android中使用它。请帮助我找到一个示例,说明如何使用Java在ZeroMQ中使用代理实现此Pub-Sub网络。
目前,我指的是http://zguide.zeromq.org/page:all
我尝试将其移植如下。 Subscriber.java
公共类订户扩展了线程实现Runnable {
private static final String TAG = "Subscriber";
private Context ctx;
public Subscriber(ZMQ.Context z_context) {
this.ctx = z_context;
}
@Override
public void run() {
super.run();
ZMQ.Socket mulServiceSubscriber = ctx.socket(ZMQ.SUB);
mulServiceSubscriber.connect("tcp://localhost:6001");
mulServiceSubscriber.subscribe("A".getBytes());
mulServiceSubscriber.subscribe("B".getBytes());
while (true) {
Log.d(TAG, "Subscriber loop started..");
String content = new String(mulServiceSubscriber.recv(0));
Log.d(TAG, "Subscriber Received : "+content);
}
}
Run Code Online (Sandbox Code Playgroud)
}
Publisher.java
公共类Publisher扩展了Thread实现Runnable {
private static final String TAG = "Publisher";
private Context ctx; …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ZeroMQ的pub-sub套接字.但是,我zmq::context_t在创建套接字(zmq::socket_t)时并没有清楚地理解context()的作用.
假设我想创建5个用户套接字(zmq::socket_t使用ZMQ_SUB),我是否需要5个上下文,每个用户套接字一个?或者我可以为所有5个套接字使用单个上下文吗?
我正在尝试嵌入zeroMQ我的应用程序,我按照此指南进行安装ZMQ,所以直到这里一切正常.我在我的应用程序中有这行代码:
ZMQ.Context m_context = ZMQ.context(1);
Run Code Online (Sandbox Code Playgroud)
但上面的代码行提出异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/libjzmq-812339378390536247.lib: libzmq.so.3: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
at java.lang.Runtime.load0(Runtime.java:792)
at java.lang.System.load(System.java:1059)
at org.zeromq.EmbeddedLibraryTools.loadEmbeddedLibrary(EmbeddedLibraryTools.java:136)
at org.zeromq.EmbeddedLibraryTools.<clinit>(EmbeddedLibraryTools.java:22)
at org.zeromq.ZMQ.<clinit>(ZMQ.java:38)
at com.castaclip.verticals.Messenger.<init>(Messenger.java:125)
at com.castaclip.verticals.PushMessenger.<init>(PushMessenger.java:30)
at com.castaclip.verticals.pushserver.App.setup(App.java:60)
at com.castaclip.verticals.pushserver.App.main(App.java:41)
Run Code Online (Sandbox Code Playgroud)
错误正好指向这一行.
PS:有点难以完全解释这个问题..如果你有任何问题,请告诉我.谢谢.