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

자르트님의 프로필 이미지
자르트

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

Protobuf 이식 (코드 리뷰)

구글 프로토콜 버퍼 사용 이유

작성

·

579

·

수정됨

0

기존의 PDL.xml대신 구글 프로토콜 버퍼를 사용하는 이유가

  1. Write, Read 함수의 최적화: 기존에 Write, Read를 사용하면서 역직렬화, 직렬화 하실 때 비트컨버터를 사용하는 방법 말고도 더 최적화 할 수 있다고 해주셨는데 관련 문서를 찾아보니 엄청 복잡한 설계를 통해 최적화가 잘 돼 있다고 봤습니다.

  2. 현업에서의 업무 적응 능력: 대부분 프로토콜 버퍼 혹은 플랫 버퍼를 쓰기 때문에 나중에 혹시나 사용하는 프로젝트를 만나면 적응이 빠르다.

  3. 데이터의 직관성: 제가 자주 사용해서 그런진 모르겠는데 xml과 달리 패킷 설계가 직관적이라 쉬운편

  4. 클라와 서버에 쓰일 공통 데이터 선언: 클라와 서버에서 쓰일 패킷 관련 변수를 매번 복붙안해도됨(정확하지 않음, 패킷 자동화 부분에서 xml에서 프로토콜버퍼로 바뀌면서 자동으로 수행되는 부분인지 프로토콜 버퍼 자체 기능인지는 모르겠으나 using protocol buffer를 사용하면 패킷 변수를 사용할 수 있는 것을 보니 자체 기능 같기도하고..?)

  5. 샌드 버퍼와 리시브 버퍼의 최적화: 1번의 현상과 마찬가지로 구글 프로토콜 버퍼를 사용시 강의에서 자체 제작하신 샌드 버퍼와 리시브 버퍼는 사용하지 않고 조금 더 최적화된 프로토콜 버퍼의 것을 사용한다.

이런 이유로 보이는데 루키스님은 어떤 매력이 있으신거 같나요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 뭐 대부분 맞고요
언어 호환성 (C++, C#), 버그도 없을 확률이 더 높고, 이미 많이 알려져서 공용 기술이고 등등
여러가지 장점이 많습니다.

자르트님의 프로필 이미지
자르트
질문자

다트 같은 언어도 지원하던데 언어의 호환성과 버그 없는 것이 크게 작용하겠군요 바쁘신 와중에 답변 감사합니다!

자르트님의 프로필 이미지
자르트

작성한 질문수

질문하기