我正在尝试使用 Shoes + dnode +sockjs 设置一个简单的场景,但我不知道如何向连接到 Web 应用程序的所有用户广播消息。
你知道是否有一个函数或方法可以管理这个?还是应该“手工”制作?
据我所知,你必须像你说的那样“用手”滚动它。这是我所做的:
server.js:
var shoe = require('shoe')
var connectedClients = {}
var conCount = 0
var sock = shoe(function(clientStream) {
clienStream.id = conCount
connectedClients[clientStream.id] = clientStream
conCount += 1
})
服务器端程序的其他地方:
//write to all connected clients
Object.keys(connectedClients).forEach(function(cid) {
var clientStream = connectedClients[cid]
clientStream.write(yourData)
})
请注意,您需要引入额外的逻辑以仅写入连接的客户端,因此您需要从 connectedClients
中删除断开连接的客户端,例如 delete connectedClients[id]
.
希望有帮助。
我是一名优秀的程序员,十分优秀!