강의

멘토링

커뮤니티

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

Dodontak님의 프로필 이미지
Dodontak

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동

Spawn #1

패킷 보내는 두가지 방법 질문

작성

·

22

0

    // 입장 사실을 신입 플레이어에게 알린다.
    {
        Protocol::S_ENTER_GAME enterGamePkt;
        enterGamePkt.set_success(success);

        Protocol::PlayerInfo* playerInfo = new Protocol::PlayerInfo();
        playerInfo->CopyFrom(*(player->playerInfo));
        enterGamePkt.set_allocated_player(playerInfo);
        //enterGamePkt.releasse_player();

        SendBufferRef sendBuffer = ServerPacketHandler::MakeSendBuffer(enterGamePkt);
        if (auto session = player->session.lock())
            session->Send(sendBuffer);
    }

이 부분에서 궁금한게 두가지 있습니다.
1. 이부분에서 두가지 방법이라는게 이렇게 두가지가 맞나요?

동적할당, 복사, set_allocated_player 이렇게 해서 sendbuffer하기

or 동적할당, copy없이 그냥 player->playerInfo를 set_alloc 한 다음 sendbuffer 마치고 enterGamdPkt.release_player() 호출하기.

 

  1. 아래 코드처럼 정적할당된 enterGamePkt에 기본으로 있는 playerInfo를 mutable get해서 copy 하면 안되나요? 이렇게 하면 메모리는 신경안써도 될거같아서요.

enterGamePkt.mutable_player()->CopyFrom(*(player->playerInfo));

 

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
Dodontak님의 프로필 이미지
Dodontak

작성한 질문수

질문하기