inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2강 게임 모드와 로그인

AGameState는 어떻게 Connection을 가지고 통신을 하는지 궁금합니다.

해결된 질문

416

상병

작성한 질문수 21

0

3강 강의를 듣다가 궁금하게 생겼습니다.

일단 저는 다음과 같이 이해하였습니다.

'어떤 Actor가 통신을 하려면 Owner를 따라가봤을때 Connection을 소유해야 하며, 일반적으로 Actor 통신 시 Connection을 가지는 PlayerController의 Connection을 이용하여 통신을 진행한다.'

 

통신에는 RPC, Property Replicate가 속한다고 생각합니다.

 

그런데, 제가 AGameState에서 Replicate와 RPC를 사용했던 적이 있어서, 이건 어떻게 통신할까? 혹시 서버의 PlayerController가 Owner일까? 궁금했습니다.

그래서 다음과 같이 AGameState의 HandleBeginPlay에서 람다로 충분한 시간을 준 뒤 Owner를 출력해보았으나,

void AABGameState::HandleBeginPlay()
{
    AB_LOG(LogABNetwork, Log, TEXT("%s"), TEXT("Begin"));

    Super::HandleBeginPlay();

    AB_LOG(LogABNetwork, Log, TEXT("%s"), TEXT("End"));

    FTimerHandle handle;
    GetWorld()->GetTimerManager().SetTimer(handle, [this]()
    {
       AB_LOG(LogABNetwork, Log, TEXT("Owner : %s"), *Owner->GetName());
    }, 10.f, false);
}

Owner 접근 시 크래시가 나는것을 확인하였습니다.

 

그렇다면, AGameState는 어떻게 Connection을 사용할 수 있는 것인가요?

제가 잘못 이해한 것일까요?

특별한 Connection을 가지는 Actor가 따로 있나요?

아니면 AGameState가 자체적으로 Connection을 가지게 되나요?

혹시 이후 강의에 다루는데 제가 아직 3강까지 밖에 안 봐서 모르는 것일까요..?

unreal-engine 네트워크 언리얼-c++

답변 1

0

이득우

GameState와 PlayerState같은 특수한 액터는 AlwaysRelevant 속성이 true로 설정되어 있어서 Owner와 무관하게 언제나 연관성을 가지게 됩니다.
관련 내용은 이후 강의에서 설명합니다.

0

상병

답변 감사드립니다!

5.6버전 Networking Insights 실행안됨 문제에 관하여

0

30

1

8강 중간, 분수대의 SetOwner 에 대해 궁금합니다.

0

77

2

플레이어(Actor) 로 (리슨)서버에서 생성 되나요?

0

99

2

2강) HandleBeginPlay 의 역활이 궁금합니다.

-1

72

2

3강 중간, 모드 로그로 찍을 시 스탠드얼론이 안찍힙니다.

1

76

2

CompressedFlag 질문

0

58

2

10강까지 머리 위 체력바가 표시가 안됩니다.

0

110

3

10강까지 머리 위 체력바가 표시가 안됩니다.

0

95

2

16:44 부분에서 질문이 있습니다.

0

104

2

12:50 NetMulticast RPC 커넥션 관려하여 질문이 있습니다.

0

121

2

github 3-5 파트 프로젝트에서 컴파일 에러가 발생합니다.

0

116

3

언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.

0

164

3

Insight 사용이 안되어서 문의 드립니다!

0

131

2

하위 레벨...?? High Level 말씀하신거죠..??

0

147

1

CompressedFlags를 이용한 InputThrottle, InputSteering 전달 방법 질문

0

191

1

조건식 프로퍼티 리플리케이션 질문

0

144

2

ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.

0

160

2

7강에서 DORM_Initial 안됨

0

128

3

안녕하세요 강의 내용 정리에 관련해서 질문있어요

0

131

2

캐릭터 클래스의 mesh 관련

0

133

2

3파트 6강 분수대 로테이트에 문제가 생겼습니다.

0

131

3

클라이언트의 오너십 설정에 대해서 궁금합니다.

0

201

3

프로퍼티 리플리케이트 동기화 보장 개념.

0

225

2

결국엔 액터 기본함수들은 어디든 똑같이 일단 실행되는건가요?

0

93

2