Qt에서 Message Queue를 사용할 수 있나요?
글쓴이: markman / 작성시간: 목, 2011/01/13 - 4:49오후
안녕하세요.
Qt를 이용해서 리눅스에서 동작하는 GUI를 만들려고 합니다.
Qt에서 Shared Memory를 지원하는 것을 확인했는데, Message Queue를 지원하는지는 모르겠습니다.
질문1. Qt는 Message Queue를 지원하나요?
Qt에서 개발한 GUI와 다른 프로그램간에 메시지큐를 이용하여 통신하고 싶습니다.
질문2. 만약 메시지큐를 지원하지 않는다면 아래의 A가 B에게 어떤 명령(예를 들어 Run/Stop/Abort)을
전달해야 하는데 가능하면 소켓통신을 하지 않고 IPC로 하고 싶습니다. 방법이 없을까요?
- A : Qt에서 개발한 GUI console 프로그램
- B : A 프로그램에게 명령을 받아서 동작해야 하는 프로그램
Qt고수님들의 답변을 부탁드립니다.
Forums:
답변이 될지 모르겠지만.
답변1. Message Queue를 지원하는지는 저도 잘 모르겠습니다.
대신 signal/ action을 이용해서 비슷한 효과를 낼 수 있습니다.
PostMessage/ SendMessage같은식으로요.
답변2. IPC를 지원합니다. 저도 기본샘플에 IPC 예제가 있는걸 본적이 있습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
메시지큐는 보통 커널 수준에서 관리되는거라 Qt에서는
메시지큐는 보통 커널 수준에서 관리되는거라 Qt에서는 지원안하는 걸로 알고있습니다.
------------------------------
How many legs does a dog have?
QT에서 지원되지 않는다고 해도, QT는 기본적으로
QT에서 지원되지 않는다고 해도, QT는 기본적으로 C++ 기반이고 linux용 application을 개발하시는 거니, linux의 message queue 함수들(msgctl(), msgsnd(), msgrcv() 등)을 이용해서 구현하실 수 있습니다.
어차피 QT에서 지원한다 해도, 사용법을 익혀서 해야 하는 것일테니, 약간(?)의 노력과 시간이 더 들어간다고 생각하시면 맘이 편할 듯 싶습니다.
DBus를 이용할 수 있는 환경이라면 QDBus 를
DBus를 이용할 수 있는 환경이라면 QDBus 를 사용하면 좋을 것같네요.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
댓글 달기