Closed hyun1202 closed 1 month ago
화상통화 사용 시 나중에 들어온 사용자는 같은 채널에 있으나 세션이 갈리는 문제가 발생했습니다. 해당 문제는 인식했으나 WebRTC는 연결 완료가 되면 클라이언트끼리 통신하므로 웹소켓이 종료되어도 화상통화는 원활하게 이루어졌기에 원인을 파악할 수가 없었습니다.
그러다 채팅 사용 시 처음엔 채팅이 입력이 되다가 조금 지나면 채팅이 안되는 문제도 발생했기에 확인해보았습니다.
개발자도구로 확인을 해보니 웹소켓 연결이 끊겼다는 로그가 보였고, 웹소켓 세션이 끊기는 문제인 것 같다고 인식하고 끊기는 시간을 측정한 결과 1분이 경과되면 자동으로 끊기는 것으로 확인 되었습니다.
그에 대한 해결 방법을 찾아보고 지속적인 연결을 위해 프론트에서 ping 메시지를 보내기로 결정했습니다.
주기적으로 ping을 전송하여 연결이 지속되도록 하였고 적용 결과 채팅 세션이 끊기는 문제 해결됨과 동시 에 화상 통화의 세션 나뉘는 이슈도 해결
화상통화 사용 시 나중에 들어온 사용자는 같은 채널에 있으나 세션이 갈리는 문제가 발생했습니다. 해당 문제는 인식했으나 WebRTC는 연결 완료가 되면 클라이언트끼리 통신하므로 웹소켓이 종료되어도 화상통화는 원활하게 이루어졌기에 원인을 파악할 수가 없었습니다.
그러다 채팅 사용 시 처음엔 채팅이 입력이 되다가 조금 지나면 채팅이 안되는 문제도 발생했기에 확인해보았습니다.
원인
개발자도구로 확인을 해보니 웹소켓 연결이 끊겼다는 로그가 보였고, 웹소켓 세션이 끊기는 문제인 것 같다고 인식하고 끊기는 시간을 측정한 결과 1분이 경과되면 자동으로 끊기는 것으로 확인 되었습니다.
그에 대한 해결 방법을 찾아보고 지속적인 연결을 위해 프론트에서 ping 메시지를 보내기로 결정했습니다.
해결
주기적으로 ping을 전송하여 연결이 지속되도록 하였고 적용 결과 채팅 세션이 끊기는 문제 해결됨과 동시 에 화상 통화의 세션 나뉘는 이슈도 해결