티스토리 뷰

Unity

Google Protobuf

cho22 2022. 8. 18. 11:36
반응형

구글이 만든 언어,플랫폼 중립적 직렬화 매커니즘

.proto파일을 만들어서 protoc컴파일러를 이용하여 각 언어에 맞는 데이터 클래스 파일을 생성하여 사용할수 있음. 

이렇게 하면 서버와 클라의 언어가 다르더라도 .proto파일만 공유해서 클라는 c#으로 컴파일, 서버는 Java로 컴파일해서 사용하는등 이런게 가능해지는 형태.

 

그래서 컴파일을 어떻게 하느냐?

1.protoc다운로드

아래 링크에서 찾아보면 protoc-win64.zip을 다운받으면 됨

https://github.com/protocolbuffers/protobuf/releases

 

Releases · protocolbuffers/protobuf

Protocol Buffers - Google's data interchange format - protocolbuffers/protobuf

github.com

 

2. 환경변수 추가

제어판 > 시스템 > 환경변수 에서 환경변수 추가 

C:\protoc\bin

cmd에서 protoc --version입력하면 protoc의 버전이 하단에 출력되는것 확인가능 (안되면 컴터 껏다 키세요 환경변수때문일 가능성있음)

 

3. .proto파일 컴파일해보기 

일단 아래 링크에서 샘플 .proto파일을 다운받아본다 

https://github.com/protocolbuffers/protobuf/blob/main/examples/addressbook.proto

 

GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format

Protocol Buffers - Google's data interchange format - GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format

github.com

이 파일이 있는곳에서 cmd 실행 

protoc addressbook.proto --csharp_out . 

명령어 입력

대충 명령어 해석해보면 protoc(컴파일러사용) addressbook.proto (프로토파일 경로 & 이름) --csharp_out(c#으로 컴파일한다) . (현재디렉토리에)

어떤 언어로 컴파일할지 옵션이 다양하게 있는데 아래 사진 참고해서 --csharp_out부분을 바꿔보면서 테스트하면 이해하기 쉬울것같음

 

무튼 이렇게 컴파일해서 나온 파일을 가져다가 사용하면 됨~

반응형
댓글