Announcement

Collapse
No announcement yet.

Reliable Client Function의 호출 조건 질문합니다.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Reliable Client Function의 호출 조건 질문합니다.

    Code:
    exec function TRRR()
    {
    	local int i;
    
    	if(Role<Role_Authority)
    	{
    		i = rand(65536);
    		`log(i@"클라이언트가 서버에게 보냄"@Role@RemoteRole);
    		serverTRRR(i);
    	}
    }
    
    reliable server function serverTRRR(int index)
    {
    	if(Role==Role_Authority)
    	{
    		`log(index@"서버가 클라이언트로부터 받음"@Role@RemoteRole);
    		clientTRRR(index);
    	}
    }
    
    reliable client function clientTRRR(int index)
    {
    	`log(index@"클라이언트가 서버로부터 받음"@Role@RemoteRole);
    }
    이것은 PlayerController 클래스에 작성된 메서드입니다.

    클라이언트측이 콘솔에서 trrr을 입력해 exec function TRRR()을 호출하면 랜덤하게 인덱스를 생성하여 reliable server function serverTRRR(int index)메서드를 호출하여 서버측에 보내고
    서버는 다시 reliable client function clientTRRR(int index)메서드를 호출하여 클라이언트에게 반송하도록 코딩했습니다.



    클라이언트 측의 LOG입니다.


    서버측의 LOG입니다.

    9번 실행한 결과 9번 모두 int값을 성공적으로 주고받았습니다.



    궁금한것은, 이 서버-클라이언트 호출구조의 조건입니다.
    이것은 PlayerController에서 작동하지만 Pawn이나 Actor를 상속받은 클래스에선 전혀 작동하지 않습니다.

    PlayerController클래스에서 서버가 reliable client function을 호출하면 어떻게 클라이언트측에서 호출되는지 그 조건이 궁금합니다.
Working...
X