рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдХреГрдкрдпрд╛ рдорджрдж рдХрд░реЗрдВ~
рдХрд╣рд╛рдБ рд╕реЗ рддреНрд░реБрдЯрд┐:
...\socket.io-adapter\index.js:195
if (fn) process.nextTick(fn.bind(null, null, sids));
рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕рдВрд╕реНрдХрд░рдг:
1.4.5
"рдиреЛрдб.рдЬреЗрдПрд╕ рдЗрди рдПрдХреНрд╢рди" рдкреБрд╕реНрддрдХ рд╕реЗ рдорд▓реНрдЯреАрд░реВрдо рдЪреИрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА
<MY_PATH>\chatrooms\node_modules\socket.io-adapter\index.js:195
if (fn) process.nextTick(fn.bind(null, null, sids));
^
TypeError: fn.bind is not a function
at Adapter.clients (<MY_PATH>\chatrooms\node_modules\socket.io-adapter\index.js:195:31)
at Namespace.clients (<MY_PATH>\chatrooms\node_modules\socket.io\lib\namespace.js:253:16)
at joinRoom (<MY_PATH>\chatrooms\lib\chat_server.js:71:32)
at Namespace.<anonymous> (<MY_PATH>\chatrooms\lib\chat_server.js:20:5)
at emitOne (events.js:90:13)
at Namespace.emit (events.js:182:7)
at Namespace.emit (<MY_PATH>\chatrooms\node_modules\socket.io\lib\namespace.js:206:10)
at <MY_PATH>\chatrooms\node_modules\socket.io\lib\namespace.js:174:14
at _combinedTickCallback (node.js:370:9)
at process._tickCallback (node.js:401:11)
рдпрджрд┐ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ:
"dependencies": {
"mime": "^1.3.4",
"socket.io": "^1.4.5"
}
рдЬрдмрдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкреБрд╕реНрддрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
"dependencies": {
"socket.io": "~0.9.6",
"mime": "~1.2.7"
}
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕рд╛рдЗрдЯ рд╕реЗ рдкреЗрдЬ рдорд╛рдЗрдЧреНрд░реЗрд╢рди 0.9 рд╕реЗ рдкрдврд╝рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдореИрдВ рдХрд╣реАрдВ рднреА рд╕рд╛рдзрд╛рд░рдг рдЪреИрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ)ред
рдореИрдВрдиреЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ NodeJs рдкреБрд╕реНрддрдХ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрд╛рдБрдЪ рдХреА, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдЖрдк socket.io рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА:
рд╕реЗ:
var usersInRoom = io.sockets.clients(room);
рдкреНрд░рддрд┐:
var usersInRoom = io.of('/').in(room).clients;
рдФрд░ рд╕реЗ:
socket.emit('rooms', io.sockets.manager.rooms);
рдкреНрд░рддрд┐:
socket.emit('rooms', io.of('/').adapter.rooms);
рдЕрднрд┐рд╡рд╛рджрди!
thnx @ CheckMater
thnx @ CheckMater
thnx @ CheckMater
thnx @ CheckMater
thnx @ CheckMater
рдзрдиреНрдпрд╡рд╛рдж рдЖрджрдореА @CheckMater
рдзрдиреНрдпрд╡рд╛рдж @ CheckMater
рдзрдиреНрдпрд╡рд╛рдж @ CheckMater
рдзрдиреНрдпрд╡рд╛рдж @ CheckMater
рдзрдиреНрдпрд╡рд╛рдж @ CheckMater
рдзрдиреНрдпрд╡рд╛рдж @ рдЪреЗрдХрдореИрдЯрд░ ред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдмрд╕ var usersInRoom = io.of('/').in(room).clients;
рдмрджрд▓рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рд╛ред рдЪреВрдВрдХрд┐ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдПрдХ рдкреИрд░рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓рдмреИрдХ рд▓реЗрддрд╛ рд╣реИ, рдиреАрдЪреЗ рд╕реНрдирд┐рдкреЗрдЯ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
io.of('/').in(room).clients(function(error,clients){
var otherUsers = [];
for(var i in clients){
if(socket.id != clients[i]) otherUsers.push(nickNames[clients[i]]);
}
var userSummary = 'Users Currently in ' + room + ' are : ' + otherUsers.join(', ') + '.';
socket.emit('message',{text:userSummary});
});
console.log(io.of('/').in(room).clients);
рд╕рдВрджрд░реНрдн рддреНрд░реБрдЯрд┐: рдХрдорд░реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВ : findClientsSocket рдкрд░
thnx @ CheckMater
thnx @ CheckMater
thx @ CheckMater
рдзрдиреНрдпрд╡рд╛рдж @ CheckMater
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ NodeJs рдкреБрд╕реНрддрдХ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрд╛рдБрдЪ рдХреА, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдЖрдк socket.io рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА:
рд╕реЗ:
var usersInRoom = io.sockets.clients(room);
рдкреНрд░рддрд┐:
var usersInRoom = io.of('/').in(room).clients;
рдФрд░ рд╕реЗ:
socket.emit('rooms', io.sockets.manager.rooms);
рдкреНрд░рддрд┐:
socket.emit('rooms', io.of('/').adapter.rooms);
рдЕрднрд┐рд╡рд╛рджрди!