SlideShare ist ein Scribd-Unternehmen logo
1 von 30
MsgPack
넥스트 인스티튜트 게임전공 노석
민
데이터 시리얼라이즈
가 뭘까
데이터 시리얼라이즈
A라는 변수가 123이고
B라는 변수가 4243인 객체가 있다.
이걸 전송하고 싶다.
어떻게 할까?
데이터 시리얼라이즈
전송하면 전송받은 상대도
그걸 받아보면 A가 123이고 B가 4243인 객
체구나 라는걸 알 수 있는 형태여야 좋겠다.
데이터 시리얼라이즈
바이트스트림으로 예를 들면
첫 4바이트는 변수명 길이 그 이후 첫 4바이
트에서 제시한 길이만큼은 변수명
그후 4바이트는 내용길이
그후 내용길이에서 지시한 길이만큼은 변수
값
이런 식으로 커스텀 포맷의 스트림 데이터를
만들어서 전송하는 방법이 있을것이다.
데이터 시리얼라이즈
하지만 가장 대중적으로 쓰는건
{“A”:123, “B”:4243}
Json으로 만들어서 보낸다.
이게 시리얼라이즈!
그러면 MsgPack이 뭘까
(미원봉지 아님ㅎ)
그러면 MsgPack이 뭘까
그냥 여러 가지 데이터 시리얼라이즈 라이브
러리중의 하나.
오픈소스.
그러면 MsgPack이 뭘까
Json보다 콤팩트하다고 한다.
Json보다 빠르다고 한다.
어떻게 쓸까
http://msgpack.org/
C++버전은 다운로드해서 헤더만 include하
면 된다.
C 버전은 빌드해야 함.
어떻게 쓸까
http://msgpack.org/
C++버전은 다운로드해서 헤더만 include하
면 된다.
C 버전은 빌드해야 함.
해보자
시리얼라이즈 할 데이터를 만든다.
해보자
팩(시리얼라이즈)하고, 언팩한다.
언팩시 언팩된 데이터에 대한 핸들을 얻을
수 있다.
해보자
출력
해보자
출력
해보자
출력
그런데
이걸로 모자라다.
어디에 쓰라는거야.
해보자2
해보자2
해보자2
해보자2
이번에는 Array나 Map(Dictionary)형태로 패
킹해볼 것이다.
해보자2
해보자2
해보자3
하지만 User-defined Class가 등장하면 어떨까?
해보자3
쨔쟌
해보자3
unitList를 이렇게 패킹할 수도 있고
해보자3
요로코롬 객체에서 바로 할 수도 있다.
해보자3
언팩을 해보면 결과가 제대로 나올 것이다.
해보자3
요러케
끝
네트워크 프로그램 만들 때 쓸 것 같다.
내가 마치 객체 단위 패킷을 주고 받는것처
럼 느껴지기에 매우 편리할 듯.
지금 만드는 게임에 네트워크를 붙일 때 사
용해 볼 계획

Weitere ähnliche Inhalte

Andere mochten auch

Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용흥배 최
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발흥배 최
 
signal과 slot, 그리고 jl_signal 라이브러리
signal과 slot, 그리고 jl_signal 라이브러리signal과 slot, 그리고 jl_signal 라이브러리
signal과 slot, 그리고 jl_signal 라이브러리JongSung Hwang
 
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
 

Andere mochten auch (7)

Easyloggingpp
EasyloggingppEasyloggingpp
Easyloggingpp
 
Unqlite
UnqliteUnqlite
Unqlite
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
 
signal과 slot, 그리고 jl_signal 라이브러리
signal과 slot, 그리고 jl_signal 라이브러리signal과 slot, 그리고 jl_signal 라이브러리
signal과 slot, 그리고 jl_signal 라이브러리
 
NLog 소개
NLog 소개NLog 소개
NLog 소개
 
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
 

Mehr von Seokmin No

잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표Seokmin No
 
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표Seokmin No
 
SiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project VerSiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project VerSeokmin No
 
Wtl로 소레미 만들기
Wtl로 소레미 만들기Wtl로 소레미 만들기
Wtl로 소레미 만들기Seokmin No
 
게임제작개론 8
게임제작개론 8게임제작개론 8
게임제작개론 8Seokmin No
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9Seokmin No
 
게임제작개론 5
게임제작개론 5게임제작개론 5
게임제작개론 5Seokmin No
 

Mehr von Seokmin No (8)

잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표
 
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표
 
SiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project VerSiegeMode! C++ Advanced Project Ver
SiegeMode! C++ Advanced Project Ver
 
Wtl로 소레미 만들기
Wtl로 소레미 만들기Wtl로 소레미 만들기
Wtl로 소레미 만들기
 
게임제작개론 8
게임제작개론 8게임제작개론 8
게임제작개론 8
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
 
게임제작개론 5
게임제작개론 5게임제작개론 5
게임제작개론 5
 
123
123123
123
 

MsgPack 정리