동일 클라이언트에 대해 OnClientJoinHandler가 중첩 호출될 수 있나요?

C#을 통해 서버를 만들었는데요, 아래와 같이 함수들을 받고 있습니다.

new NetServer {
ClientJoinHandler = OnClientJoinHandler,

ClientLeaveHandler = OnClientLeaveHandler,

ClientOnlineHandler = OnClientOnlineHandler,

ClientOfflineHandler = OnClientOfflineHandler
}

유저가 접속하고 서버가 OnClientJoinHandler를 받으면 (ex. HostID = 9 ), 하나의 클라이언트에 대하여 OnClientLeaveHandler를 호출 받기 전에는 OnClientJoinHandler가 중첩되어 콜을 받지 않을 거라 생각했는데, 테스트 플레이 중 문제가 발생하였습니다.

제 클라이언트가 서버에 접속되어 OnClientJoinHandler(HostID = 9)가 호출된 후 잘 플레이를 하다가 인터넷 신호 문제인지, OnClientLeaveHandler 호출없이 다시 한번 OnClientJoinHandler(HostID = 7)가 호출되었습니다.

위 둘은 같은 클라이언트인데, 위와 같이 프라우드넷 내부적으로 OnClientLeaveHandler호출 없이 같은 클라이언트에 대하여 OnClientJoinHandler가 중첩되어 호출될 수도 있는 것인지 궁금합니다. (HostID = 9를 받고, 플레이 중 약 1분 정도 후에 HostID = 7로 다시 한번 OnClientJoinHandler가 호출된 상황입니다. 이 사이에 OnClientLeaveHandler은 호출되지 않았습니다.)

서버와 클라이언트 각각 1대씩으로 테스트하고 계시더라도, 다음과 같은 경우에 말씀하신 상황이 발생할 수 있습니다.

  1. 서버에 연결 유지 기능이 꺼진 클라이언트가 와이파이로 붙습니다.

  2. 와이파이 연결이 끊어집니다.

  3. 연결이 끊어지고 나서 leave 콜백이 호출되기 전에, 구현하신 재 접속 로직으로 cellular network로 다시 서버에 연결됩니다.