繁体   English   中英

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

[英]how to use node.js upgrade event socket outside callback?

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

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

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

sendEvent();

尝试保存套接字以供以后使用(即在app.on()函数外部):

var socket;

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

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

sendEvent();

如果:

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

那你可以用

sockets.emit("some_event")

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM