Kakao i ConnectLive Q&A 게시판

Error Code 에 대한 close() 처리문제에 대해 질문이 있습니다

안녕하세요. Error Code에 대한 close() 처리문제에 대해 질문이 있습니다.

  1. onError 콜백의 에러코드중에는 강제로 close()를 해줘야 할 에러가 있다고 알고 있습니다.
    그러면 그런 경우엔 sdk에서 자동으로 close()를 해주지 않는걸로 알고 있는데 맞나요?

  2. 1번 질문의 답변이 자동으로 해주지 않는다면 강제로 close() 해줘야 할 에러를 만나서 close()를 한다면 onClose 콜백 시에 .MINE으로 오나요? 어떤 타입으로 오는지 궁금합니다!

  3. 레퍼런스에서 onClose의 콜백 타입 4개의 정확한 경우를 찾지 못해서 그런데 알 수 있을까요?
    .MINE이 캐스터나 뷰어에 의해 close()된 경우라고만 유추하고 있습니다.

  4. 에러 케이스 중에 자동으로 close()가 되는 경우는 있을까요?
    사실 .MINE 이 sdk에 의해 close() 됐다면 다시 재연결 시킬 필요가 없는데, 그렇지 않은 경우엔 다시 접속을 해야하는 경우가 있다고 알고 있습니다. 다시 접속해야 하는 경우의 에러코드를 알 수 있을까요?

답변 부탁드립니다. 감사합니다.

1 Like

안녕하세요 ^^
우선 답변이 늦어 죄송합니다.
답변 내용은 다음과 같습니다.

  1. onError 콜백의 에러코드중에는 강제로 close()를 해줘야 할 에러가 있다고 알고 있습니다.
    그러면 그런 경우엔 sdk에서 자동으로 close()를 해주지 않는걸로 알고 있는데 맞나요?
    -> 네 맞습니다. 에러코드상황에따라 고객의 서비스에 맞도록 구현하면 됩니다.

  2. 1번 질문의 답변이 자동으로 해주지 않는다면 강제로 close() 해줘야 할 에러를 만나서 close()를 한다면 onClose 콜백 시에 .MINE으로 오나요? 어떤 타입으로 오는지 궁금합니다!
    -> 이미 종료가 되었던 상황이라면, UNKNOWN 으로 오게되며, 자신이 종료를 했다면 MINE 으로 오게 됩니다.

  3. 레퍼런스에서 onClose의 콜백 타입 4개의 정확한 경우를 찾지 못해서 그런데 알 수 있을까요?
    .MINE이 캐스터나 뷰어에 의해 close()된 경우라고만 유추하고 있습니다.
    -> MINE - 자신이 종료한 경우
    OTHER - 서버로부터 onDisconnectChannel (상대방이 정상적으로 종료) 을 받은경우
    OTHER_UNEXPECTED - 나는 연결상태인데 종료가 된경우 (Ex.상대방이 비정상종료 됨)
    UNKNOWN - 그 외의 다양한 케이스 (웹소켓, ICE, 미디어서버 등등) -> Error 내용을 봐야합니다.

  4. 에러 케이스 중에 자동으로 close()가 되는 경우는 있을까요?
    사실 .MINE 이 sdk에 의해 close() 됐다면 다시 재연결 시킬 필요가 없는데, 그렇지 않은 경우엔 다시 접속을 해야하는 경우가 있다고 알고 있습니다. 다시 접속해야 하는 경우의 에러코드를 알 수 있을까요?
    -> UNKNOWN 으로 떨어지는 경우 자동으로 close가 됩니다.
    (initializing, ice, websocket, rest init, media 에러 등이 이에 포함됩니다.)

이상입니다. 감사합니다 :slight_smile: