Google Protocol Buffer 사용해보기 with C# - 첫번째
아래 DeathKnight 님께서 추신을 다신 관계로 Protobuf-net에 대해 올리겠습니다.
Protobuf-net.
이름에서도 풍기듯이 .NET 프레임워크에서 사용가능하며, 버전별 빌드를 제공하고 있습니다.
https://code.google.com/p/protobuf-net/
위의 사이트에서 다운을 받을 수도 있고, VisualStudio NuGet에서도 다운로드 받을 수 있습니다.
솔루션 탐색기에서 참조에 protobuf-net을 추가하고, using ProtoBuf를 추가 합니다.
사용방법은 아래와 같습니다.
Line 8 ~ 19까지는 Packet 클래스입니다. [ProtoContract]는 이 클래스는 ProtoBuf-net 직렬화 대상 클래스를 알리는 Attibute 입니다. [Protomember]는 ProtoBuf-net 직렬화 대상 멤버임을 알려주며, 숫자는 Order Number입니다.
Line 21 ~ 32는 Packet 클래스의 세번째 멤버인 리스트에 사용되는 클래스 입니다.
Line 38 ~ 45에서 테스트용으로 Packet 인스턴스를 채워 주웠구요.
Line 52 ~ 56은 byte 배열로 직렬화 하였습니다. 인스턴스를 MemoryStream 인스턴스에 담은 후 메모리 스트림에서 byte 배열로 변환 합니다.
Line 59 ~ 60은 byte 배열에서 인스턴스로 역직렬화 하였습니다. 그리고 출력하는 내용입니다. 출력 결과는 아래와 같습니다.
타 언어와는 다르게 .proto 파일을 만들 필요가 없으며, generator를 사용할 필요도 없습니다.
우왕 ㅋ굳ㅋ
두번째 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# - 세번째 (0) | 2014.01.14 |
Google Protocol Buffer 사용해보기 with C# - 두번째 (1) | 2014.01.14 |