一些代碼行給你想法我想問什麼。 代碼開始與Ussing setTimeout在一個循環內不允許阻塞
var webSocketsServerPort = 8002;
var webSocketServer = require('websocket').server;
var conns = [];
我使用數組各是conns連接成功後推用戶。我把額外的(他們的ID)信息放在那裏,以便我可以識別用戶。
而當我需要向用戶發送特定信息時,我會調用以下函數。
function sendMessage(userID, message){
for(var i = 0, len = conns.length; i < len; ++i){
if(conns[i].customData.ID == userID){
conns[i].sendUTF(message);
}
}
}
我的問題是: 它是一個更好的主意,如果萬一有setTimeout(function(){conns[i].sendUTF(message)},1)
使更換conns[i].sendUTF(message);
有5000級連接的用戶sendUTF(msg)
將無法阻止循環,在最好的情況下,所有的消息將同時發送。
*首先:*當您找到id時跳出循環! *第二:*爲什麼使用循環?改變設計,所以你不需要一個循環! – epascarello 2014-10-17 12:46:11
如何更改設計? – Enve 2014-10-17 12:47:18
將用戶標識作爲關鍵字的對象。 – epascarello 2014-10-17 12:47:35