해결된 질문
작성
·
311
0
만약 다음과 같이, 서버에서 multicast RPC 호출을 진행하는 로직을 함수 내부에서 작성했고, 함수 내 로직을 RPC 호출 전, 후 2개로 나눈다면
(로직 1 -> 로직 1 내부 RPC 호출 -> 서버 _Imple 실행, 클라에 Imple 실행 명령 -> 로직2 실행)
인 것인가요? 아니면
(로직 1 -> 로직 1 내부 RPC 호출 -> 서버 Imple 실행 -> 로직2 실행 -> 나중에 패킷 보낼때 클라의 Imple 실행 명령 보냄)
인 것인가요? 궁금합니다.
만약 RPC가 아닌 Property Relication인 경우에는 두번째 방식과 비슷한 것 (나중에 패킷 보낼때 보냄)이라고 이해 했는데요,
RPC일 경우에는 어떤 플로우가 맞나요?
둘중에 하나가 맞다면, Server, Client RPC들도 같을까요?
답변 1
1
네 두 번째가 맞습니다.
동일한 컴퓨터에서 호출한 Implementation 함수는 마치 로컬 함수처럼 호출된다고 보시면 됩니다.
RPC도 결국 네트웍 통신이기 때문에 Property Replication과 동일하고 서버와 클라이언트 RPC도 동일하게 동작합니다.
다만 후반부에서 나오는 매트릭스 표에서 지적했듯이, 경우에 따라 로컬함수처럼 실행되는 경우를 주의해야 합니다. 예를 들어 클라이언트에서 NetMulticast나 Client RPC를 호출하면 서버를 거치지 않기 때문에 사실상 통신이 없다고 볼 수 있는데, 이 때 에러가 난다기보다 로컬함수처럼 실행되므로 주의해야 합니다.
답변 감사드립니다!!!!!!!