전체 글 2

Reliable, WithValidation 옵션

Reliable이란 RPC 이벤트가 항상 실행되어야 함을 의미한다. 반드시 실행해야 하는 이벤트에서만 활성화해야 한다. 예를 들어 서버 또는 클라이언트가 대기 시간 문제로 어려움을 겪고 있다고 가정하면 서버가 병목 현상을 방지하기 위해 일부 호출(예: 중복 이벤트/덜 중요한 기능 등)을 무시하여 따라잡고 안정화할 수 있다. "Reliable"을 선택하면 서버/클라이언트가 불안정한 상태에 있더라도 이벤트가 호출되는 것을 보장한다. 이 자체가 병목 현상/대기 시간 문제의 원인이 될 수 있으므로 틱 또는 유사한 인스턴스에서 실행되는 이벤트에 대해 Reliable을 사용해서는 안된다. 공식 문서에서의 설명 : 이 함수는 네트워크로 리플리케이트되며, 대역폭이나 네트워크 오류와 상관 없이 도착이 보장됩니다. Cli..

RPC

RPC(Remote Procedure Call)이란 언리얼의 멀티 플레이 개발 기술 중 하나로 서버와 클라이언트 사이의 객체 상태를 동기화하기 위해 사용한다. 기본적으로 호출되는 곳과 실행되는 곳이 다르다. 값이 변경될 때마다 리플리케이트 하는 프로퍼티 업데이트와는 달리 실행될 때만 리플리케이트를 한다. Client, Server, NetMulticast 3 가지의 RPC가 있다. 각각 UFUNCTION의 키워드로 추가하여 사용한다. Client는 서버에서 호출되어 클라이언트에서 실행된다. Server는 클라이언트에서 호출되어 서버에서 실행된다. NetMulticast는 서버에서 호출되어 서버와 모든 클라이언트에서 실행된다. RPC의 정상 작동을 위한 조건 및 주의사항은 다음과 같다. Actor 에서 호..