문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.
- 프로젝트명 : 무한의 기사
- 뒤끝SDK 버전 : 5.4.4
- 에러 코드 :
Chat 관리 클래스는 Singletone으로 구성 되어 있습니다.
첫 번 째 씬 진입 할 때는 채팅 기능에 문제가 없습니다. 채널 전환도 잘 됩니다.
문제는 다른 씬으로 변경 후 다시 채팅 서버에 접속 할 때 정상적으로 동작 하지 않습니다.
모든 접속 시도는
- 연결을 끊고
if (Backend.Chat != null && Backend.Chat.IsChatConnect(ChannelType.Public))
Backend.Chat.LeaveChannel(ChannelType.Public);
Backend.Chat.ResetConnect();
- 연결이 끊어져 있는지 확인 후
Backend.Chat.IsChatConnect(ChannelType.Public)
- 채널에 접속을 시도 합니다.
Backend.Chat.JoinChannel(ChannelType.Public
씬 전환 후 위의 과정을 첫 번 째 시도 하면
Backend.Chat.OnException : The object of type ‘GameObject’ has been destroyed but you are still trying to access it.
위와 같은 예외가 발생합니다.
위에도 적었지만 Backend.Chat.Poll(); 을 하는 클래스는 싱글톤으로 만들어져 있으므로
씬 전환이 되어도 삭제가 되지 않습니다.
첫 번 째 실패 후 두번 째 시도를 하면
Backend.Chat.JoinChannel → Category: DuplicateConnection, Detail: DuplicateConnection, SocketError: Success, Reason: Already Online
에러가 발생 합니다.
위의 경우도 1,2번을 통과 한 후의 Join 채널 시도입니다.
가끔은
OnJoinChannelFail = Category: Exception, Detail: DisconnectFromRemote, SocketError: Success, Reason: Can’t find channel. game id: 1783
오류도 보입니다.
지난 번에 연결을 완전히 끊어 주는 기능을 요청 했고, 그래서 만들어 진 것이
Backend.Chat.ResetConnect();
이것으로 알고 있는데, 이거 완전히 연결 초기화 되는 거 맞습니까?
확인 부탁드리겠습니다.