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에는 많은 기능들이 있는데 전부 알아보지는 못했네요. 아쉽지만 나중에 좋은 꼼수들을 알게 될 경우 포스트 할께요~
'In to the C#' 카테고리의 다른 글
Delegates와 Serialization (0) | 2014.01.17 |
---|---|
Dispose in C# (0) | 2014.01.14 |
Thread Pool과 Task (0) | 2014.01.14 |
Google Protocol Buffer 사용해보기 with C# - 두번째 (1) | 2014.01.14 |
Google Protocol Buffer 사용해보기 with C# - 첫번째 (0) | 2014.01.13 |