2009-12-21 12 views
2

Windows 서비스 (C#으로 구현 됨)가 있으며 서비스 제어 관리자와 같은 기능을 제공합니다. 서비스 제어 관리자 (Windows Forms 응용 프로그램)에 대한 메시지를 추적하고 싶습니다. 그러나이 작업을 수행하는 가장 좋은 방법이 무엇인지 잘 모릅니다. 서비스는 비 차단 방식으로 등록하는 모든 클라이언트에 메시지를 브로드 캐스팅해야합니다.프로세스 간 통신/브로드 캐스트

나는 명명 된 파이프 또는 메일 슬롯을 사용하는 것을 고려해 봤지만이 방법을 사용하는 것이 더 좋은지 잘 모르겠습니다.이 기술로 방송을 구현할 수 있는지는 확실하지 않습니다.

모든 조언은 크게 취소됩니다.

답변

0

듣고있는 클라이언트가 여러 개인 경우 명명 된 파이프가 조금 더 효과적 일 것입니다. 나는 그 상황에서 공유 메모리가 더 간단하다고 생각한다. 클라이언트가 별도의 컴퓨터에있는 경우 많은 데이터가 관련되어 있지 않으면 멀티 캐스트와 같은 간단한 방법으로 정보를 전송할 수 있습니다. 그러나 라우터가 특별히 멀티 캐스트 용으로 구성되어 있지 않으면 멀티 캐스트 범위는 일반적으로 단일 서브넷으로 제한됩니다.

+0

답장을 보내 주셔서 감사합니다. 클라이언트는 모두 동일한 시스템에 있으므로 네트워크 스택과 관련되지 않도록하십시오. 공유 메모리는 옵션처럼 들립니다. 그러나 창 메시지를 사용하는 것이 가능한지 궁금합니다. (C#에서 사용하기에는 조금 성가시다.) – Jeldrik

+0

이 경우 네트워크를 피하는 데 동의합니다. 특히 향후 업데이트에서 더욱 유연한 또 다른 가능성은 .Net Remoting (http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx)을 사용하는 것입니다. 그것은 아마도 그것을 "공식적으로"올바른 방법 일 것입니다. –