その先にあるもの…

RPC sync 본문

프로그래밍/Unity

RPC sync

specialJ 2015. 1. 6. 00:51

 

[RPC]

Send_A()

{

networkView.RPC( "FuncA", RPCMode.All, null );}

}

 

void FuncA()

{

Debug.Log("FuncA");

Send_B();

}

 

[RPC]

Send_B()

{

networkView.RPC( "FuncB", RPCMode.All, null );}

}

 

void FuncB()

{

Debug.Log("FuncB");

}

 

[RPC]

Send_C()

{

networkView.RPC( "FuncC", RPCMode.All, null );}

}

 

void FuncC()

{

Debug.Log("FuncC");

}

 

void Send()

{

Send_A();

Send_C();

}

 

결과

 

FuncB

FuncA

FuncC

 

패킷 순서 보장한다고 하여 위 코드처럼 짰다가 낭패를 봤다.

 

RPC 함수 호출 순서대로 패킷이 전송되는 줄 알았다.

 

문제가 없을 것 같았는데

 

콜스택을 보니 Send_A에서 FuncA를 바로 호출하여 마지막으로 호출된 Send_B 함수부터 패킷이 전송된다.

 

 

Comments