2010-11-19 7 views
2

임베디드 장치 용 몇 가지 응용 프로그램을 개발 중입니다. C# 2.0을 사용하여 포함 된 Windows CE 5.0 및 XP와 호환되어야합니다. 응용 프로그램은 일반적으로 이벤트를 나타내는 작은 메시지를 교환해야합니다. 나는 TCP 소켓과 dispatcher (pub/sub 패턴 포함)로 작동하는 별도의 서버를 사용하여 첫 번째 프로토 타입을 구현했습니다. 그것은 작동하지만 MSMQ를 사용하면 더 나은 솔루션이 될지 궁금하네요. 메시지를 지속하면 몇 가지 시나리오에서 도움이되지만 대개 모든 이벤트는 대상 응용 프로그램에서 즉시 사용되어야합니다. 두 가지 해결책과 장황한 점을 알고 결정에 도움이되는 몇 가지 지침을 알고 싶습니다. 임베디드 시스템 : 소켓 대 MSMQ

답변

3

음, 메시지 큐는 트랜잭션 큐를 통해 자사의 보장 배달에 좋은 곳입니다 감사합니다. 충돌 및 예기치 않은 재부팅에 대해 시스템을 복원하는 데 도움이됩니다. 그러나 일반적으로 이러한 사고에서 앱을 다시 시작하고 메시지를 다시 받기 전에 상태를 복원 할 수있을 때만 제대로 작동합니다.

그다지 중요하지 않은 요구 사항입니다. 당신이 그것을 만날 수없는 경우, 모든 상태 기록 메시지는 기계를 다시 다운하는 경향이 있습니다. 콘텐츠에는 상태가 유지되지 않는 경우에도 수신 된 순서에 따라 메시지에 명시적인 상태가 거의 존재하지만 프로그램 상태가 변경 될 수 있습니다. 이것은 미들웨어에 대한 저주였습니다. 네트워킹은 네트워킹이 추상화 될 수있는 구현 세부 사항이 실제로 잘 작동하지 않는다고 가정합니다.

나는이 문제를 특히 잘 표현한 this answer으로 생각합니다.

2

나는 인터페이스를 추상화하여 인터페이스를 기반으로 구현하고 결정을 구성 항목으로 삼을 것입니다. 사용자가 잠재적으로 변화하는 요구에 따라 프로토콜을 선택하게하십시오.