Обмен сообщениями .Net и протокол STOMP

У меня есть сомнения относительно обмена сообщениями .net и его совместимости с другими открытыми протоколами. Я хотел бы знать, может ли API обмена сообщениями .net работать с протоколом STOMP? Как мне использовать этот протокол? есть ли какая-то конкретная библиотека, которую мне нужно использовать?

спасибо, что поделились своим опытом и идеями.


person Abdel Raoof Olakara    schedule 27.08.2010    source источник


Ответы (2)


По сути, STOMP представляет собой обмен сообщениями на основе TCP с набором команд и управляющих символов.

В .NET нет ничего, что могло бы вызвать у вас сомнения относительно невозможности создания приложения или библиотеки с использованием этого протокола. Если бы вы создавали библиотеку .NET STOMP с нуля, вам пришлось бы использовать System.Net.Sockets. Вот пример кода C#.

Byte[] bytesSent = Encoding.ASCII.GetBytes(someStringMessage);

// Create a socket connection with the specified server and port.
Socket s = ConnectSocket("192.168.0.101", somePort);

// If the socket could not get a connection, then return false.
if (s == null)
    return false;

// Send message to the destination.
s.Send(bytesSent, bytesSent.Length, 0);

// Receive the response back
int bytes = 0;
s.ReceiveTimeout = 3000;
bytes = s.Receive(bytesReceived, bytesReceived.Length, 0);
string page = Encoding.ASCII.GetString(bytesReceived, 0, bytes);
s.Close();

Какие сомнения у вас были? Возможно, отредактируйте свой вопрос с какими-либо проблемами?

person p.campbell    schedule 27.08.2010
comment
Спасибо за информацию! Итак, вы хотите сказать, что .net MQ поддерживает его, и мы можем его использовать. Знаете ли вы о какой-либо существующей библиотеке? Поиск Google, похоже, заполнен результатами MQ на основе Java. - person Abdel Raoof Olakara; 28.08.2010
comment
@Abdel: Я думаю, я имею в виду, что вы определенно можете написать свой собственный, если не найдете библиотеку. Из вашего вопроса я понял, что вы сомневаетесь в том, что язык .NET будет поддерживать протокол. - person p.campbell; 28.08.2010

Если вашей целью является отправка сообщений с языка .NET, рассмотрите возможность использования библиотеки Apache ActiveMQ NMS для .NET. Они утверждают, что используют один API для подключения к нескольким различным провайдерам.

На данный момент доступны следующие провайдеры:

  • ActiveMQ, который подключается с помощью OpenWire к брокеру сообщений ActiveMQ.
  • STOMP, который подключается к любому брокеру STOMP.

На их сайте, указанном выше, есть загрузки и ссылки на статьи о том, как начать работу с распространенными сценариями обмена сообщениями.

person p.campbell    schedule 27.08.2010