如何在websocket服务器上向特定用户发送消息

时间:2016-04-05 13:31:50

标签: node.js websocket

我正在阅读websockets,在阅读了很多教程和博客(主要是关于创建一个简单的聊天应用程序)之后,还有一个问题没有答案:

使用的技术类型(node.js或python的php)我发现没有办法向1个用户或一组用户发送消息而没有先将客户端事件发送到websocket服务器(通常称为onconnect( )或onmessage())。

那么是否有可能让某些外部应用程序或事件调用某些脚本(bash或php)使用现有的运行websocket实例将一些信息(文本)发送/广播到一个或多个连接的浏览器(websocket客户端)? ?

很抱歉,如果这是一个愚蠢的问题,但我无法通过网络上的这些博客找到答案。

感谢您的澄清。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您可以轻松使用以下套接字:

// main.js
this.sockets = {};
myOtherModule.init(sockets);
io.on('connection', function(socket)) {
    sockets[socket.id] = socket;

    socket.on('command', myOtherModule.onSocketCommand);
}


// myOtherModule.js
this.init = function(sockets) {
    this.sockets = sockets;
}
this.onSocketCommand = function() {
    this.sockets['other.socket.id'].emit('message');
}

您可以随时将套接字保存在某处,无论它是在对象内还是单个变量中。然后你总是可以用它来发出信息。