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

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

спасибо за обмен опытом и идеями.

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();

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


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

В настоящее время доступны следующие поставщики:

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

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