Получение сообщений MessageQueue без чтения их из очереди получения?
Я использую System.Messaging.MessageQueue для отправки и получения многоадресной рассылки System.Messaging.Messag e в моей локальной сети - это работает нормально.
Тем не менее, у меня есть требование получать сообщения без использования очереди сообщений.
Поскольку MessageQueue использует протокол PGM (113) для отправки сообщений, я пытаюсь создать тип, который прослушивает PGM (протокол 113), используя сокет (например, новый Socket (AddressFamily.InterNetwork, SocketType.Rdm, (ProtocolType) 113);). Тип получает данные сообщения, но в текстовом формате (с разделом средства форматирования мыла - см. Пример в MSDN http://msdn.microsoft.com/en-us/library/cc219170.aspx).
Я, очевидно, хочу двоичные данные, чтобы я мог преобразовать их в System.Messaging.Message и получить реальные данные.
Любые идеи о том, как я могу это сделать, очень ценятся.
2 ответа
Если вы ищете исключительно использование PGM в MS Windows, то Emcaster - очень хороший источник информации с примером, как его использовать.
Но если вы ищете более зрелое решение с более широким спектром возможностей, тогда nServiceBus Framework должен быть вашим выбором.
Вы можете просто посмотреть на них? MSMQ поддерживает эту функцию. Или вы просто пытаетесь читать сообщения в очередях, которые обычно не слушаете?