答:是的,使用消息传递层
如果不需要其他服务,则C端将充当信息提供者(ZMQ.PUB发布者),而MATLAB端将充当信息订户(ZMQ.SUB).
这样,与消息传递相关的底层细节可以由分布式处理消息传递层解决,您的解决方案将受益于速度快,现成的工具,并且可以使用以下方法分发到私有网格计算/云计算体系结构中:相同的仪器,获得额外的性能等.
ZeroMQ同时具有C和MATLAB的绑定,因此这里是开始和品尝过程到过程消息传递层方法的地方.
% MATLAB script to setup zeromq-matlab
clear all;
if ~ispc
s1 = zmq( 'subscribe', 'ipc', 'MATLAB' ); %% using IPC transport on
else
disp('0MQ IPC not supported on windows. Setup TCP transport class instead')
disp('Setting up TCP')
s1 = zmq( 'subscribe', 'tcp', 'localhost', 5555 );
end
recv_data1 = []; %% setup RECV buffer
MATLAB绑定可以找到here.
要发送一些浮点数,延迟将在数百以下(如果不是数十[usec]的话),如您的通知所提到的那样,它涉及数据分发的异步模式,因此localhost将仅花费一些时钟来从localhost ZMQ.SUB-检索数据.队列.
可能会受到ZeroMQ Guide的启发,实现更复杂的应用程序对应用程序信令