Протокол обмена сообщениями и 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.
их сайт по ссылке выше загрузки и ссылки на статьи о том, как начать работу в общих сценариях обмена сообщениями.