【问题标题】:.Net Messaging & STOMP Protocol.Net 消息传递和 STOMP 协议
【发布时间】:2011-04-05 00:52:59
【问题描述】:

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

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

【问题讨论】:

    标签: .net message-queue stomp


    【解决方案1】:

    从根本上说,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 MQ 支持它,我们可以利用它。你知道任何现有的库吗? Google 搜索似乎充满了基于 java 的 MQ 结果。
    • @Abdel:我想我的意思是,如果您没有找到库,您绝对可以编写自己的。我从您的问题中了解到,您对 .NET 语言是否支持该协议表示怀疑。
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 2012-04-30
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多