본문 바로가기

캡스톤 설계 [건물별 소통 플랫폼 BBC]/개발 진행

소켓 채팅시 사용자 인증 방법 리팩토링

소켓은 한번 연결이 되면 헤더를 바꿀 수가 없다.

그래서 소켓 연결을 한 뒤 토큰이 만료가 되면 서비스이용에 차질이 생긴다.

그러면 restAPI처럼 그냥 다시 로그인을 하면 되는것 아닌가? 싶겠지만 갱신이 되지 않는다.

 

.

.

.

.

물론 이전 방법처럼 하나하나의 소켓 이벤트마다 가드를 붙여서 사용을 해도 되며 

그렇게 서버를 유지하는 것도 있긴 하지만 리소스를 많이 잡아 먹어 효율적이지 않다.

.

.

또한 소켓의 특성중 재미있는것이 한번 연결된 소켓은 클라이언트와 서버는 그 하나의 소켓으로만 소통을 한다.

즉 처음 연결된 그 소켓에 사용자 정보를 넣으면 많은 리소스를 잡아먹지 않게 설계할 수 있는것이다.

 

 

 

이렇게 처음 연결할때만 토큰을 인증하면 그 이후 는 자동으로 해당 사용자의 정보를 사용할 수 있다.

 

그리고 이후 소켓 인증관련 에러시에는 바로 연결을 끊어 버리게 한다.

 

 

 

소켓의 연결 시작과 끝에 관여하는 함수 등록 (차후에 써먹으면 될듯)