디버깅
디버깅을 위한 타임아웃 사용하지 않기
클라이언트와 Photon 서버를 디버깅 할때 정말 빠르게 디버깅하지 않으면 타임아웃이 발생 할 것 입니다.
어플리케이션을 잠시 멈추게 할 때 다른 측은 응답이 없어 연결해제가 될 것 입니다.
Photon 서버를 이용해서 디버깅을 할 때 타임아웃을 방지하기위한 방법이 있습니다:
클라이언트의 프로토콜을 TCP 로 전환합니다.
PUN 에서 TCP 로 전환하는 것은 인스펙터의 "PhotonServerSettings" 에서 수행 됩니다.
호스팅을 "Self Hosted" 로 설정하고 IP (또는 주소)를 입력하고 드롭다운 메뉴에서 TCP 프로토콜을 선택 합니다.
평소와 같이 ConnectUsingSettings()
을 사용 합니다.
PhotonServer.config 에서 timeout 을 disable 합니다.
관련된 모든 "TcpListeners" 의 InactivityTimeout="0" 으로 아래처럼 설정 합니다:
XML
<TCPListener
IPAddress="0.0.0.0"
Port="4530"
InactivityTimeout="0">
</TCPListener>
"0" 값은 타임아웃이 없다는 것을 의미 합니다.
더 높은 값으로 설정할 수 있으며 "InactivityTimeout" 이 1/1000 초 단위라는 것을 주의 하세요.
클라이언트 타임아웃 설정하기
PUN 클라이언트에서는 다음과 같이 설정 합니다:
C#
PhotonNetwork.networkingPeer.DisconnectTimeout = 30; // seconds. any high value for debug
PhotonNetwork.MaxResendsBeforeDisconnect = 8; // count of resends. high value for debug
LoadBalancing API 기반의 클라이언트에서는 다음과 같이 설정 합니다:
C#
// in a LoadBalancingClient instance:
this.loadBalancingPeer.DisconnectTimeout = 30;
this.loadBalancingPeer.SentCountAllowance = 8;
릴리즈 전에 이렇게 설정된 값을 리셋하는 것을 반드시 확인 해 주세요.
Back to top