I'm developing a few applications for embedded devices; they should be compatible with both Windows CE 5.0 and XP embedded using C# 2.0. Applications should exchange small messages which usually represent events. I implemented a first prototype using TCP sockets and a separate server acting as dispatcher (with a pub/sub pattern). It works, but I'm wondering if using MSMQ would be a better solution. Persisting messages would help me in a few scenarios, but generally all events should be consumed immediately by target applications. I would like to know pros and cons for both solutions and some guidelines to help me with the decision.
Thank you