강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dodontak
dodontak

câu hỏi đã được viết

[Series Phát triển Game MMORPG bằng C++ và Unreal] Phần 5: Kết nối Server UE5 & IOCP

Sinh sản số 1

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

Viết

·

59

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));

 

c++unreal-enginewindows-server

Câu trả lời

Câu hỏi này đang chờ câu trả lời
Hãy là người đầu tiên trả lời!
Hình ảnh hồ sơ của dodontak
dodontak

câu hỏi đã được viết

Đặt câu hỏi