In to the C# 2014. 1. 14. 11:58

Google Protocol Buffer 사용해보기 with C# - 세번째

Protocol Buffers는 C#만을 위한 라이브러리는 아닙니다.

Protocol Buffers - Developer guide를 보면 C++, Java, Python에 대해서만 설명을 해줍니다. C#은 third party로 분류 되어 있구요.


사실 third-party로 분류된 언어는 많습니다. 

https://code.google.com/p/protobuf/wiki/ThirdPartyAddOns


위 주소로 방문하시면 아시겠지만 Action Script, Go, D, 얼랭, 루아, 펄, 루비, 스칼라, PHP...헉헉..

많네요.


하지만 본인의 주력 언어는 C#이니까!


제가 세번째 글을 포스트 하는 이유는 C#으로 proto 파일을 만들어 내는 방법을 소개해 드리려 합니다.

C#으로 클래스 구현해놓고 타언어 지원을 위해 proto파일을 직접 만들려고 하면 오류도 생길 수 있고, 귀찮고, 위험하잖아요.


소스는 아래와 같습니다.


class 선언한 곳은 기존 예제와 다를 바 없으니 패스 하시고..

가장 아래 메소드 ProtoFileWrite를 보시겠습니다.


실행파일 폴더에서 proto 폴더를 만든 후

파일 저장 Path를 만들고..

Line 62번째!!

GetProto 일반화 메소드가 있습니다! proto파일을 만들려고 하는 타입을 넘겨주면 프로토 파일을 만들어 줍니다.


proto 파일이 어떻게 생성되었는지 보겠습니다.

위 내용은 Packet.proto입니다.



위 내용은 Test.proto입니다.


어때요? 참쉽죠?ㅋ


이렇게 ProtoBuf-net 에 대해서 알아봤습니다.

사실 ProtoBuf-net에는 많은 기능들이 있는데 전부 알아보지는 못했네요. 아쉽지만 나중에 좋은 꼼수들을 알게 될 경우 포스트 할께요~