gpt4 book ai didi

javascript - 从 sockjs-node 广播的有效方法?

转载 作者:行者123 更新时间:2023-12-01 15:29:09 24 4
gpt4 key购买 nike

我想向连接到我的 sockjs-node 服务器的所有客户端广播消息。

现在我有以下代码

var clients = {};
var echo = sockjs.createServer();
echo.on('connection', function(conn) {
clients[conn.id] = conn;

for(key in clients) {
if(clients.hasOwnProperty(key)) {
clients[key].write('test');
}
}

conn.on('close', function() {
delete clients[conn.id];
});
});

有没有更有效的方法来做到这一点?

也许
var clients = [];
var echo = sockjs.createServer();
echo.on('connection', function(conn) {
var index = clients.push(conn);

var lenght = clients.length;
while(length--) {
if(clients[length] !== undefined) {
clients[length].write('test');
}
}

conn.on('close', function() {
delete clients[index];
});
});

谢谢

最佳答案

1.)for...in 比常规 for 或 while 慢,不是很多
2.)也可能从对象中获取值比从数组中获取值要慢(因为您需要从字符串中获取地址,但您可以立即从数组索引中计算地址),也不是很多
所以第二个更快。

关于javascript - 从 sockjs-node 广播的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com