.NET消息传递和STOMP协议

7

关于.net消息传递及其与其他开放协议的兼容性,我有一个疑问。 我想知道.net消息传递API是否能够与STOMP协议一起使用? 我该如何使用该协议? 是否有特定库需要使用?

感谢分享您的经验和想法。

2个回答

6
如果您的目标是从.NET语言发送消息,请考虑利用Apache ActiveMQ NMS library for .NET。他们声称使用单个API连接到多个不同的提供程序。
目前,以下提供程序可用:
- ActiveMQ:使用OpenWire连接到ActiveMQ消息代理。 - STOMP:连接到任何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();

你有什么疑问吗?也许可以编辑你的问题并提出任何关注点?

1
谢谢提供信息!那么,您的意思是说 .net MQ 支持它并且我们可以利用它。您是否知道任何现有的库?谷歌搜索似乎充斥着基于 Java 的 MQ 结果。 - Abdel Raoof Olakara
@Abdel:我的意思是,如果你找不到库,你肯定可以自己编写。从你的问题中我感觉到你对.NET语言是否支持该协议有疑虑。 - p.campbell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接