2013-08-27 63 views
0

我把socketio內ZMQ但其不低於工作是不知道我在做什麼內部io.socket.on錯誤socket.io不ZMQ函數內部工作

var io = require('socket.io').listen(2939); 
var zmq = require('zmq'); 
var socket = zmq.socket('sub'); 

console.log("Connecting to Currency Stream...."); 

socket.subscribe(""); 

    socket.on('message', function (data){ 
    //console.log(data.toString()); 
    io.sockets.on('connection', function(socket){ 
     console.log("In socket.io"); 
     console.log(data.toString()); 
     socket.emit("live_rates", 
       {date: data[0], time: data[1], 
        open: data[2], high: data[3], 
         low: data[4], close: data[5]}); 
     socket.emit("news", {hello: 'world'}); 
     console.log("emitted"); 
    }); 
}); 

    socket.connect('tcp://localhost:3191'); 

代碼不運行代碼 ,握手成功,因爲我可以在日誌窗口中看到。當我將代碼放入zmq(取消註釋//console.log(data.toString());) 它顯示數據。

我在這裏真正做的是從zmq服務器獲取zmq tcp端口3191上的數據,並將其轉發到socket.io http端口2939,然後通過使用html頁面連接到端口2939來獲取瀏覽器上的數據。我不希望在客戶端使用zmq,因爲socket.io對於該遊戲非常強大。

也是一個單獨的socket.io連接,即io.sockets.on正在工作,但在一個zmq套接字中失敗!

任何一個

紫衫

回答