2

jeromq 是 libzmq 的 Java 实现。我有一个从 jeromq 源创建的 .jar 文件。但是,我无法从 MATLAB 调用 jeromq 中的类。我已经使用过 addjavaclasspathaddjavalibrarypath但仍然无法正常工作。有人在 MATLAB 中有一个简单的工作示例吗?

4

3 回答 3

5

我在这里添加了答案以供参考,以防其他人感兴趣。

% Author : Dheepak Krishnamurthy
% License : BSD 3 Clause

import org.zeromq.ZMQ;

ctx = zmq.Ctx();

socket = ctx.createSocket(ZMQ.REP);

socket.bind('tcp://127.0.0.1:7575');
message = socket.recv(0);
json_data = native2unicode(message.data)';

message = zmq.Msg(8);
message.put(unicode2native('Received'));
socket.send(message, 0);

socket.close()
于 2016-06-29T14:38:39.343 回答
3

我的 Matlab 9.0.0.341360 (R2016a) 想要下面的代码而不是上面的导入:

javaclasspath('/path/to/jar/jeromq-0.4.3-SNAPSHOT.jar')
import org.zeromq.*

其余的工作正常。

于 2017-07-01T21:18:47.473 回答
2

这是我必须做的才能让事情正常进行。


    javaclasspath('jeromq-0.5.1.jar')
    import org.zeromq.*;

    %subscribe to ZMQ feed
    context = ZContext();
    socket = context.createSocket(ZMQ.SUB); 
    success = false;
    while(~success)
        success = socket.connect('tcp://127.0.0.1:5996');
    end
    socket.subscribe("");
    socket.setTCPKeepAlive(1);

    %receive a message
    message = socket.recv(0); %nonblocking receive uses argument (1)

    %when done
    socket.close();

于 2020-01-21T17:28:07.080 回答