我正在使用类似以下代码的内容来保存数组中的所有客户端......
var WebSocketServer = require('ws').Server,
wss = new WebSocketServer({port: 8080}),
CLIENTS=[];
wss.on('connection', function(ws) {
CLIENTS.push(ws);
ws.on('message', function(message) {
console.log('received: %s', message);
findClient(message);
});
ws.send("NEW USER JOINED");
});
function findClient (message) {
for (var i=0; i<CLIENTS.length; i++) {
//this is where I'm stuck
if current client then return i
}
}
我不知道在for循环中放入什么来查找当前客户端。我想迭代数组,如果当前客户端==数组中的客户端之一,我想返回它的索引。
我确信有一种简单的方法可以做到这一点,但我被卡住了。
答案 0 :(得分:0)
执行findClient(ws)
- 您已经拥有属于该特定客户端的ws(套接字)绑定到消息事件处理程序的闭包。然后findClient
函数变为:
function getClientIndex(socket) {
return CLIENTS.indexOf(socket);
}