2013-07-25 2 views
0

설치 : 4 개의 프로세스가 중앙 집중식 소스 (Message Queue를 생각하고 있습니다)를 모니터하고 메시지가 큐에 놓이면 경고를 받아야합니다. 이는 각 프로세스가 개별적으로 수행 할 작업을 결정할 때 알아야 할 오류를보고하기위한 것입니다.프로세스 간 Windows CE 중앙 메시지 큐

그러나 나는 메시지 대기열이 내가 그 길 아래로 멀리 가기 전에 그것에 대해 갈 수있는 가장 좋은 방법인지 확인하고자하므로 몇 가지 질문이 있습니다.

Windows CE의 Message Queue API에 일종의 이벤트/알림이 있습니까? 그렇지 않은 경우, Windows CE OS 자체가 새로운 메시지가 도착했다는 경고 메시지를 대기열에 넣을 수 있습니까? 이러한 종류의 설치 및 요구 사항에 대해 더 나은 프로세스 간 통신 도구가 있습니까?

EDIT : 또한이 오류 로그는 실행되지 않는 오류 로그이므로 플래시 메모리에 저장합니다.

답변

0

항상 루프백을 통한 간단한 TCP 연결이 효과적입니다. 또한 원하는 경우 데스크탑 시스템에서 쉽게 디버깅 할 수 있습니다. CE의 메시지 대기열은 항상 1 : 1이므로 프로세스간에 연결을 많이 확보해야합니다. 또한 TCP 스트림과 같은 방식으로 사용하려는 경우 각 방향마다 하나씩 필요합니다.

사용할 수있는 또 다른 방법이 있는데, 정보를 로깅하는 파일을 모니터링하는 것입니다. CE가 파일 변경을위한 알림 API를 어느 정도 지원하는지 확신 할 수 없지만 지연이 적은 반응을 필요로하지 않는다면 항상 모든 시간에 투표 할 수 있습니다. 또는 로그 파일에 기록한 후 명명 된 이벤트를 사용하십시오.

+0

CE가 NAMED 이벤트를 지원한다는 사실을 알았습니다. WinAPI와 임베디드 분야에서 새로운 것이되었으므로 명명 된 이벤트를 사용하면 다른 프로세스가 글로벌 이벤트에 연결하여이를 사용할 수 있다는 것을 깨닫지 못했습니다. MSDN의 설명서에서 이름 지정 또는 이벤트 이름 지정의 결과에 대해 아무 말도하지 않았습니다. 몇 가지 연구를 통해이를 발견 한 후 이름이 지정된 이벤트 경로로갑니다. –

+0

IPC 기능을 제공하기 위해 뮤텍스 및 공유 메모리와 같은 다른 글로벌 리소스가 있습니다. 행운을 빕니다! –