7

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

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

4

2 回答 2

6

如果您的目标是从 .NET 语言发送消息,请考虑利用 .NET 的Apache ActiveMQ NMS 库。他们声称使用单个 API 连接到多个不同的提供商。

目前,可以使用以下提供程序:

  • 使用 OpenWire 连接到 ActiveMQ 消息代理的 ActiveMQ。
  • STOMP 连接到任何 STOMP 经纪人。

上面链接的他们的网站有下载,以及有关如何开始使用常见消息传递方案的文章的链接。

于 2010-08-27T22:03:07.023 回答
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();

你有什么疑惑?也许编辑您的问题有任何顾虑?

于 2010-08-27T21:48:02.880 回答