소켓은 한번 연결이 되면 헤더를 바꿀 수가 없다.
그래서 소켓 연결을 한 뒤 토큰이 만료가 되면 서비스이용에 차질이 생긴다.
그러면 restAPI처럼 그냥 다시 로그인을 하면 되는것 아닌가? 싶겠지만 갱신이 되지 않는다.
.
.
.
.
물론 이전 방법처럼 하나하나의 소켓 이벤트마다 가드를 붙여서 사용을 해도 되며
그렇게 서버를 유지하는 것도 있긴 하지만 리소스를 많이 잡아 먹어 효율적이지 않다.
.
.
또한 소켓의 특성중 재미있는것이 한번 연결된 소켓은 클라이언트와 서버는 그 하나의 소켓으로만 소통을 한다.
즉 처음 연결된 그 소켓에 사용자 정보를 넣으면 많은 리소스를 잡아먹지 않게 설계할 수 있는것이다.
이렇게 처음 연결할때만 토큰을 인증하면 그 이후 는 자동으로 해당 사용자의 정보를 사용할 수 있다.
그리고 이후 소켓 인증관련 에러시에는 바로 연결을 끊어 버리게 한다.
소켓의 연결 시작과 끝에 관여하는 함수 등록 (차후에 써먹으면 될듯)
'캡스톤 설계 [건물별 소통 플랫폼 BBC] > 개발 진행' 카테고리의 다른 글
존재하는 게시글인지 체크하는 미들웨어 (0) | 2023.11.04 |
---|---|
comment 모듈 리팩토링 (0) | 2023.11.04 |
채팅에 가드 적용하기 (0) | 2023.11.02 |
gateway에서의 validationPipe (0) | 2023.11.02 |
메세지 보내기 (0) | 2023.11.02 |