채팅 채널 Not Connected에 관하여 여쭤볼게 있습니다.

우선 해당 관련 오류를 커뮤니티에서 검색 해본 결과 답변에

채널에 접속 후 접속이 완료되지 않았는데 메시지가 보내져서 그렇다고 나와있습니다.

그렇데 해당 프로젝트에서는

채널에 접속 후 OnJoinChannel(JoinChannelEventArgs args) 이벤트에

누가 입장하였습니다. 이런 메시지가 띄워지도록 되어 있거든요.

즉 채널 접속 동작이 이루어진 후에 이벤트가 발생 되는건데 위의 경우와 맞지 않는 것 같아 여쭤봅니다.

그리고 그 외의 다른 사항들이 발생하여 채널의 입장이 실패 하였을 경우 다시 채널 메뉴에서 입장을 하도록

하려고 안내를 하려고 하는데요. 채널 변경 버튼을 누르면

Backend.Chat.LeaveChannel(ChannelType.Public); 호출하여 채널을 떠나게 한 후 선택한 채널로
입장하게 하는 방식인데요. Not Connected가 뜬 상태에서 다시 입장하려고 채널 변경을 누르면
접속된 채널이 없는데 떠나려해서 그런건지 Not connected가 뜹니다.

그렇기에 ```
Backend.Chat.IsChatConnect(ChannelType.Public); 로 확인 후 접속이 되어이 있을 때만
떠나도록 하는 방식이 유효한지 아래의 내용이 이해가지 않아 여쭤봅니다.

클라이언트가 채팅 서버 간에 소켓이 연결되어 있는지 확인합니다.

  • 해당 기능은 단순히 서버와 소켓이 연결되어 있는지 확인하는 함수로 채팅 서버에 요청을 보내 정상적으로 접속이 되어 있는지 확인하는 함수가 아닙니다.
  • 단순 소켓 접속 여부를 확인하는 함수입니다.

안녕하세요 개발자님.

Not Connected의 경우, 채널 접속을 하지 않은 상태로 채팅 기능을 사용하려고 했을 경우 발생하는 예외 문구입니다.

JoinChannel만 호출하고 OnJoinChannel이 발생하지 않은 채로 채팅을 보내거나 LeaveChannel을 할 경우 해당 에러 문구가 발생할 수 있습니다.(혹은 일시적으로 채팅 서버에 문제가 있어 끊어졌을 경우도 존재합니다.)

Backend.Chat.IsChatConnect는 SDK 로컬에서 채팅에 접속한 적이 있었는지 확인하는 함수로 서버를 거치지 않고 SDK 내에서의 연결 상태 여부만을 확인합니다.

해당 함수를 이용하여 체킹을 한 후에 접속을 하는 방법도 좋지만 해당 에러가 발생할 경우에는 혹여나 서버상의 문제로 인해 접속이 되지 않아 서버상태와 클라이언트 상태가 불일치하여 발생하는 경우도 있으므로 Backend.Chat.ResetConnect() 함수를 통해 완전 초기화를 이루고 다시 접속해주시기 바랍니다.