네트워크 상으로 객체를 직렬화해서 보내려 하는데
부스트 라이브러리에 직렬화 쓸 수 있는 것이 있다고 구글링 결과로 알게되었습니다.
다만 찾아보니 파일에 직렬화해서 쓰는 예제만 나와서
네트워크 상으로 보내려면 어떻게 해야되는지 혹시 예제 같은 것이나 사이트 있다면 알려 주시면 정말 감사하겠습니다..
Google Protocol Buffers에 대해서 알아 보세요.https://github.com/google/protobuf
www.gilgil.net
프로토버트 쓰면
상속 받은 함수가 들어있는 객체도 직렬화가 가능한가요??
Protocol buffer는 직렬화를 위한 클래스를 따로 만들어야 합니다. 그냥 C++로 짠 클래스를 던져주고 serialize하라고 할 수는 없습니다.
쓰다보면 첨에는 좀 구리지만 (원래 C++이 그런 거 생각하고 만든 언어가 아니니...) 좀 익숙해지면 꽤 편합니다.
"아무런 로직 없이 데이터만 담는 클래스"와 "그 데이터를 이용해서 어떤 작업을 수행하는 클래스"를 잘 나눠서 설계하면 편하게 쓸 수 있습니다.
제 기억에 언급하신 것을 POD Types(Plain object Data) 라고 했던거 같네요.
개인적으로 통신쪽을 전공하고 있는데, C++ 이런점이 거지같아서 부스트시리얼라이즈/C++11/ 이용해서 뭔가 꼼수 부리려다가
그냥 C++ 버리고 C 사용하고있어요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
gilgil.net
Google Protocol Buffers에 대해서 알아 보세요.
https://github.com/google/protobuf
www.gilgil.net
아 감사합니당.
프로토버트 쓰면
상속 받은 함수가 들어있는 객체도 직렬화가 가능한가요??
...
Protocol buffer는 직렬화를 위한 클래스를 따로 만들어야 합니다. 그냥 C++로 짠 클래스를 던져주고 serialize하라고 할 수는 없습니다.
쓰다보면 첨에는 좀 구리지만 (원래 C++이 그런 거 생각하고 만든 언어가 아니니...) 좀 익숙해지면 꽤 편합니다.
"아무런 로직 없이 데이터만 담는 클래스"와 "그 데이터를 이용해서 어떤 작업을 수행하는 클래스"를 잘 나눠서 설계하면 편하게 쓸 수 있습니다.
제 기억에 언급하신 것을 POD Types(Plain
제 기억에 언급하신 것을 POD Types(Plain object Data) 라고 했던거 같네요.
개인적으로 통신쪽을 전공하고 있는데, C++ 이런점이 거지같아서 부스트시리얼라이즈/C++11/ 이용해서 뭔가 꼼수 부리려다가
그냥 C++ 버리고 C 사용하고있어요.
댓글 달기