echo1241 / echo

0 stars 0 forks source link

[TroubleShooting] WebSocket 연결 지속이 안되는 이슈 #103

Closed hyun1202 closed 1 month ago

hyun1202 commented 1 month ago

화상통화 사용 시 나중에 들어온 사용자는 같은 채널에 있으나 세션이 갈리는 문제가 발생했습니다. 해당 문제는 인식했으나 WebRTC는 연결 완료가 되면 클라이언트끼리 통신하므로 웹소켓이 종료되어도 화상통화는 원활하게 이루어졌기에 원인을 파악할 수가 없었습니다.

그러다 채팅 사용 시 처음엔 채팅이 입력이 되다가 조금 지나면 채팅이 안되는 문제도 발생했기에 확인해보았습니다.

원인

개발자도구로 확인을 해보니 웹소켓 연결이 끊겼다는 로그가 보였고, 웹소켓 세션이 끊기는 문제인 것 같다고 인식하고 끊기는 시간을 측정한 결과 1분이 경과되면 자동으로 끊기는 것으로 확인 되었습니다.

image

그에 대한 해결 방법을 찾아보고 지속적인 연결을 위해 프론트에서 ping 메시지를 보내기로 결정했습니다.

해결

주기적으로 ping을 전송하여 연결이 지속되도록 하였고 적용 결과 채팅 세션이 끊기는 문제 해결됨과 동시 에 화상 통화의 세션 나뉘는 이슈도 해결