socket 현재 접속중인 유저.(21.12.01)

김도형 (르베니아)·2021년 12월 1일
0

TIL

목록 보기
34/38

문제

소켓으로 연결된 유저는 누가 있는가?
또한 스케일 아웃된 서버 상태에서 유저를 확인해야된다..

Redis를 사용하여
소켓에 연결하고
로그인 하고 join 요청이 들어오면
해당 유저는 로그인 되어있다고 판단하고
해당 유저 id와 소켓 id를 레디스의 해시맵으로 적용한다

redis.hset('users', userid, socket.id);
        redis.hget('users', userid, function(err, obj){
          if(err){
            console.log(err)
            test.to("message").emit("연결실패..!")
          }
          console.log(obj)
          notice.findAll({where: { userid: userid }}).then((data)=>{
            test.to(obj).emit("message", data );
          }).catch(
            test.to(obj).emit("message", "DB연결에러 문의")
          )

현재는 이러한 방식으로 redis를 사용하였다.

profile
한다. 간다. 해낸다.

0개의 댓글