我正在使用Socket.IO让客户端网页从我的Node.JS服务器动态获取数据 . 在服务器端,我使用zeromq套接字库将请求转发到Python后端(REQ / REP结构,请参阅zguide中的rrclient.js示例) .
但是,由于我的服务器充当socket.io服务器,我必须按如下方式包装我的响应,以便将其发送回特定客户端:
socket.on('app_request',function(appRequest){
//route this request to the backend.
var results = fetch_data(appRequest);
//return it to the client
socket.emit('app_results',results);
});
所以fetch_data函数使用zmq套接字(socket.send)将请求推送到服务器 .
但Node ZMQ套接字使用socket.on('message',function(){})响应请求;听众并没有实际返回任何东西 .
我怎样才能使用socket.on('message',function(){});将值返回到发起socket.send()请求的特定函数?
换句话说,如何让客户端的socket.io请求让Node.JS使用ZMQ从python后端获取相关数据,然后将其返回给socket.io客户端? (当然是以非阻塞的方式)