如何在MATLAB中使用jeromq

时间:2016-06-27 17:58:25

标签: matlab jeromq

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

3 个答案:

答案 0 :(得分:2)

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

% 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()

答案 1 :(得分:1)

My Matlab 9.0.0.341360(R2016a)需要以下代码而不是上面的导入:

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

其余的工作正常。

答案 2 :(得分:0)

这就是我要做的事情。


    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();