2012-03-21 46 views
0

我有這個非常簡單的應用程序:通數據

// Require HTTP module (to start server) and Socket.IO 
var http = require('http'), 
    io = require('socket.io'), 
    url = require('url'); 

var server = http.createServer(function(req, res){ 
    req.on('data', function(data){ 
    console.log('Received Data'); 
    }) 
}); 
server.listen(3000); 

// Create a Socket.IO instance, passing it our server 
var socket = io.listen(server); 

// Add a connect listener 
socket.on('connection', function(client){ 

    server.on('data',function(event){ 
    client.send(url.search); 
    console.log('Received Data from socket app'); 
    }); 

    client.on('disconnect',function(){ 
    console.log('Server has disconnected'); 
    }); 

}); 

我需要捲曲節點服務器通過它的一些數據後,然後我想這數據要交給socket.io應用程序,以便它可以反饋給當前連接的客戶端。

有沒有辦法做到這一點?

非常感謝,

+0

數據從哪裏來? – 2012-03-21 13:45:31

+0

@adam從PHP腳本中,當這些數據到達節點服務器時,我想要通知所有連接的客戶端。 – silkAdmin 2012-03-21 18:18:41

回答

2

socket您從

var socket = io.listen(server); 

讓你可以隨時撥打這個emit發送消息到所有連接的客戶端。所以在你的http服務器上,你可以emit的發佈數據:

var server = http.createServer(function(req, res){ 
    var body = ''; 
    req.on('data', function(data){ 
    console.log('Received Data'); 
    body += data; 
    }); 
    req.on('end', function() { 
    // Emit the data to all clients 
    socket.emit('foo message', body); 
    }); 
});