如何在回调外使用node.js升级事件套接字?

时间:2012-05-31 02:10:43

标签: javascript node.js connect

我正在使用node.js连接框架来监听升级事件。我可以在回调函数中使用套接字写回客户端。但是如何使用回调函数外的套接字写入同一个客户端。在我的情况下,只有一个客户端连接到服务器。

app.on('upgrade', function(req, socket) {
    socket.write('hello');    
});

function sendEvent()
{
 // how to use socket here??
}

sendEvent();

2 个答案:

答案 0 :(得分:1)

尝试保存套接字以供以后使用(即在app.on()功能之外):

var socket;

app.on('upgrade', function(req, sock) {
    socket = sock;
    socket.write('hello');
});

function sendEvent() {
    socket.write('hi!');
}

sendEvent();

答案 1 :(得分:0)

如果:

  • 实际上只有一个客户端连接到此服务器,或者
  • 连接了多个客户端,但所有人都可以接收事件

然后你可以使用

sockets.emit("some_event")

将广播到所有连接的客户端(或您的情况下为1个客户端)。