[Network] 3. FlatBuffers 사용 예제 코드
프로그래밍 언어/Flatbuffers2021. 5. 28. 22:24
Visual studio 를 열고 아래와 같이 코드를 작성해봅시다.
코드에 대한 별도 설명은 아래 코드에 주석에 포함되어 있으므로 생략하겠습니다.
#include <iostream>
using namespace std;
// 헤더 선언
#include "flatbuffers/flatbuffers.h"
#include "person_generated.h"
int main()
{
// flatbuffer 빌더 객체 선언
flatbuffers::FlatBufferBuilder builder;
// ----------------------------------------------------------------
// 직렬화할 객체 데이터를 작성하여 직렬화한다.
auto name = builder.CreateString("홍길동");
auto age = 25;
// 직렬화 완료
builder.Finish(CreatePerson(builder, name, age));
// 직렬화된 버퍼를 가져온다. 이 버퍼값을 네트워크로 전송하거나 파일로 저장할 수 있다.
auto data = builder.GetBufferPointer();
// ----------------------------------------------------------------
// 역직렬화를 진행한다.
// 역직렬화하여 person 객체로 가져온다.
auto person = GetPerson(data);
// 객체 출력 확인
cout << "이름 : " << person->name()->c_str() << endl;
cout << "나이 : " << person->age() << endl;
builder.ReleaseBufferPointer();
builder.Clear();
return 0;
}
flatbuffers에 대한 더 많은 내용을 보려면
https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html
'프로그래밍 언어 > Flatbuffers' 카테고리의 다른 글
[Network] 6. FlatBuffers + Boost Asio 콘솔 서버 예제 (2) (0) | 2021.07.05 |
---|---|
[Network] 5. FlatBuffers + Boost Asio 콘솔 서버 예제 (1) (0) | 2021.07.04 |
[Network] 4. Flatbuffers + Boost Asio 콘솔 채팅 서버 클라이언트 예제 (0) | 2021.07.03 |
[Network] 2. FlatBuffers 사용하기 (2) | 2021.05.28 |
[Network] 1. FlatBuffers 소개 (0) | 2021.05.28 |