server | v4 switch to v3  

디버깅

디버깅을 위한 타임아웃 사용하지 않기

클라이언트와 Photon 서버를 디버깅 할때 정말 빠르게 디버깅하지 않으면 타임아웃이 발생 할 것 입니다. 어플리케이션을 잠시 멈추게 할 때 다른 측은 응답이 없어 연결해제가 될 것 입니다. Photon 서버를 이용해서 디버깅을 할 때 타임아웃을 방지하기위한 방법이 있습니다:

Back To Top

클라이언트의 프로토콜을 TCP 로 전환합니다.

PUN 에서 TCP 로 전환하는 것은 인스펙터의 "PhotonServerSettings" 에서 수행 됩니다. 호스팅을 "Self Hosted" 로 설정하고 IP (또는 주소)를 입력하고 드롭다운 메뉴에서 TCP 프로토콜을 선택 합니다. 평소와 같이 ConnectUsingSettings() 을 사용 합니다.

Back To Top

PhotonServer.config 에서 Timeout 을 Disable 합니다.

관련된 모든 "TcpListeners" 의 InactivityTimeout="0" 으로 아래처럼 설정 합니다:

    <TCPListener
        IPAddress="0.0.0.0"
        Port="4530"
        InactivityTimeout="0">
    </TCPListener>

"0" 값은 타임아웃이 없다는 것을 의미 합니다. 더 높은 값으로 설정할 수 있으며 "InactivityTimeout" 이 1/1000 초 단위라는 것을 주의 하세요.

Back To Top

클라이언트 타임아웃 설정하기

PUN 클라이언트에서는 다음과 같이 설정 합니다:

    PhotonNetwork.networkingPeer.DisconnectTimeout = 30; // seconds. any high value for debug
    PhotonNetwork.MaxResendsBeforeDisconnect = 8; // count of resends. high value for debug

LoadBalancing API 기반의 클라이언트에서는 다음과 같이 설정 합니다:

    // in a LoadBalancingClient instance:
    this.loadBalancingPeer.DisconnectTimeout = 30;
    this.loadBalancingPeer.SentCountAllowance = 8;

릴리즈 전에 이렇게 설정된 값을 리셋하는 것을 반드시 확인 해 주세요.

기술문서 TOP으로 돌아가기