Socket.io: ๋ชจ๋“  ๋ฐฉ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2014๋…„ 11์›” 21์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: socketio/socket.io

1630์€ ์ด๋ฏธ .clients([room], fn); ์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฉ์˜ ์†Œ์ผ“ ID ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์†Œ์ผ“ ID๊ฐ€ ์žˆ๋Š” ๋ฐฉ ๋ชฉ๋ก์„ ๊ฐ€์ ธ ์˜ค๊ธฐ ์œ„ํ•ด .roomClients([socketid],fn) ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด @FREEZX ์— PR์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ io.sockets.manager.roomClients[socket_id] ๋กœ 0.9.x์—์„œ ๊ฐ€๋Šฅํ–ˆ์œผ๋ฉฐ RedisStore์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

io.sockets.manager.rooms ๋กœ ๋ชจ๋“  ๋ฐฉ์˜ ํ•ด์‹œ๋ฅผ ์–ป๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ 1.x์—์„œ๋Š” ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. io.sockets.adapter.rooms ์žˆ์ง€๋งŒ ๋‚ด๊ฐ€ ๋ณผ ์ˆ˜์žˆ๋Š” ํ•œ ๋…ธ๋“œ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์œ„์˜ ๋‘ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ์‹ค์„ ์–ป๊ณ  ๊ทธ ๋ณ‘ํ•ฉ ๋ฐ˜๋ณต roomClients ์ „ํ™” ''๋ฐฉ์—์žˆ๋Š” ๋ชจ๋“  ์†Œ์ผ“ ID๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๊ฒƒ์€ ์ฝ๊ธฐ๋กœ ๊ฐ„๋‹จํ–ˆ๋‹ค์œผ๋กœ roomClients์— n ๊ฐœ์˜ ํ˜ธ์ถœํ•˜๊ณ  ์˜๋ฏธ io.sockets.manager.rooms 0.9.x์—์„œ ๊ฐ์ฒด๋ฅผ

enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” io.sockets.adapter.rooms๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

๋ชจ๋“  9 ๋Œ“๊ธ€

:+1:

์ด๊ฒƒ์— +1. ๋ฐฉ์„ ๋‚˜์—ดํ•˜๋Š” ๊ธฐ๋Šฅ ์—†์ด๋Š” ๊ดœ์ฐฎ์€ ์ฑ„ํŒ… ์‹œ์Šคํ…œ์กฐ์ฐจ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

(๊ทธ๋ฆฌ๊ณ )

:+1:

๋ชจ๋“  ๋ฐฉ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

https://github.com/socketio/socket.io-redis/pull/168์— ์˜ํ•ด ํ์‡„๋˜์—ˆ์Šต๋‹ˆ๋‹ค

io.adapter.allRooms(function (err, rooms) {
  console.log(rooms); // an array containing all rooms (accross every node)
});

2.0.4๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ io.adapter.allRooms๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์•„์ด๋””์–ด๋ผ๋„?

๋‚˜๋Š” io.sockets.adapter.rooms๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

@wangdalang์— ๋Œ€ํ•œ ์ฝ”๋“œ ์˜ˆ์ œ์™€ ๋ฌธ์„œ ๋งํฌ๋ฅผ ๋ณด์—ฌ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰