message queue with boost and serialization

Program Lang./C++ 2016. 7. 12. 15:33

기존의 예제들은 완전한 예제가 아닌 것으로 보인다.

C++ boost message queue는 POSIX 기반의 message queue를 지원하지 않는다고 한다.

또한 message queue로 메세지를 전달 시에 기본 데이터 타입이 아닌 경우에는 Serialization의 과정이 필요하다고 한다

완전한 예제인지는 모르겠지만 기존 예제를 boost에 가장 근접하게 수정을 해 보았다.

따라서 기존 예제는 좀 억지스러운 면이 있는 것 같지만 사용환경에 따라서 사용 가능할 것으로 보인다.

메세지 큐는 Inter-process보다는 Intra-process에서 자사 제품에서는 많이 사용되고 있다.  


1. 소스트리

.

├── CMakeLists.txt

├── remove.sh

└── test.cpp


2. 구현 예제


Intra-process 기반으로 작성을 해 보았다. Inter-process에서 사용할지 의문이다.


3. 실행 결과


hskim@hskim-VirtualBox:~/share/prj/c++/test1-2$ ./test

In main thread

serialize, 37

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

serialize, 37

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

serialize, 37

name : heesoon.kim, age : 41

serialize, 37

name : heesoon.kim, age : 41

 


4. 전체 소스 코드


serialization.zip


https://github.com/heesoon/mpeg/tree/master/test/messageQueueWithSerialization

'Program Lang. > C++' 카테고리의 다른 글

2. mpeg ts pat (program associate table) parser  (0) 2016.07.14
1. mpeg sectoin parser  (0) 2016.07.13
message queue - with boost lib  (0) 2016.07.11
message queue 구현 - not using boost library  (0) 2016.07.08
template과 상속 조합  (0) 2016.07.07
: