본문 바로가기

socket.io2

NestJS + Websocket으로 채팅만들기 #4 (feat. 채팅 구색갖추기) 이번에는 채팅에 필요한 기능들을 정리하여 제작해보려고 한다. 일단 기본적으로 내가 만들고 싶은 채팅방은 입장했을 시 lobby에 입장한다. 물론 로비에 있는 다른 회원과 대화가 가능하다. 채팅방을 임의로 제작할 수 있고, 채팅방을 만들면 자동으로 채팅방 목록에서 채팅방이 추가된다. 아무도 없는 채팅방은 자동으로 소멸된다. 1유저는 1개의 채팅방에만 들어갈 수 있다. 닉네임은 언제든지 변경이 가능하고, 창을 껐다 켰을시에도 해당 닉네임이 유지되야한다. 이 형태의 채팅방이고 부가적인 기능인 방장이 나갔을 경우 랜덤으로 방장이 바뀐다거나, 채팅방 혹은 닉네임 중복 방지와 같은 부가기능은 일단 제외하고 기본적으로 채팅방으로서의 형태를 제작해보려고 한다. 이렇게 되면 만들어야 하는 함수목록이 대강 정리가 된다. .. 2021. 7. 26.
NestJS + Websocket으로 채팅만들기 #2 (feat. Socket.io) 이전까지 페이지에 접속하면 채팅방에 접속하여 채팅방으로서의 역할만을 하는 기능을 제작했다. 이번에는 채팅방을 생성할 수 있다. 채팅방 목록 페이지에서 본인의 닉네임을 설정하고, 변경은 목록페이지에서만 가능하다. 채팅방에 접속하면 이전 채팅글을 볼 수 있고, 100개단위로 이전 채팅글을 불러올 수 있다. 글자수 혹은 json size의 제한을 통해 바이너리형태의 직접적인 데이터 전송, xss 등의 보안부분도 추가해준다. 닉네임등록시 금지어를 설정하여 비속어 등을 제한한다. 사이트를 껐다 킬 경우에도 채팅방에 닉네임은 유지된다. 1번 6번에 해당하는 작업을 진행해보려고 한다. 1번 6번 작업하기에 앞서 현재 NestJS 서버의 Websocket이 Socket.io 가 아닌 ws 이다. 따라서 Websocke.. 2021. 7. 25.