인프런 커뮤니티 질문&답변

상병님의 프로필 이미지
상병

작성한 질문수

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

8강 RPC 기초

8강 강의에서, RPC의 호출 시점이 궁금합니다.

해결된 질문

작성

·

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를 호출하면 서버를 거치지 않기 때문에 사실상 통신이 없다고 볼 수 있는데, 이 때 에러가 난다기보다 로컬함수처럼 실행되므로 주의해야 합니다.

상병님의 프로필 이미지
상병
질문자

답변 감사드립니다!!!!!!!

상병님의 프로필 이미지
상병

작성한 질문수

질문하기