我正在阅读websockets,在阅读了很多教程和博客(主要是关于创建一个简单的聊天应用程序)之后,还有一个问题没有答案:
使用的技术类型(node.js或python的php)我发现没有办法向1个用户或一组用户发送消息而没有先将客户端事件发送到websocket服务器(通常称为onconnect( )或onmessage())。
那么是否有可能让某些外部应用程序或事件调用某些脚本(bash或php)使用现有的运行websocket实例将一些信息(文本)发送/广播到一个或多个连接的浏览器(websocket客户端)? ?
很抱歉,如果这是一个愚蠢的问题,但我无法通过网络上的这些博客找到答案。
感谢您的澄清。
答案 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');
}
您可以随时将套接字保存在某处,无论它是在对象内还是单个变量中。然后你总是可以用它来发出信息。