7

.net メッセージングと、他のオープン プロトコルとの互換性について疑問があります。.net メッセージング API が STOMP プロトコルで動作できるかどうかを知りたいですか? このプロトコルを利用するにはどうすればよいですか? 使用する必要がある特定のライブラリはありますか?

あなたの経験とアイデアを共有してくれてありがとう。

4

2 に答える 2

6

.NET 言語からメッセージを送信することが目標の場合は、.NET用の Apache ActiveMQ NMS ライブラリを活用することを検討してください。彼らは、単一の API を使用して複数の異なるプロバイダーに接続すると主張しています。

現在、次のプロバイダーが利用可能です。

  • OpenWire を使用して ActiveMQ Message Broker に接続する ActiveMQ。
  • 任意の STOMP Broker に接続する STOMP。

上記のリンク先のサイトには、ダウンロードと、一般的なメッセージング シナリオを開始する方法に関する記事へのリンクがあります。

于 2010-08-27T22:03:07.023 に答える
2

その根底にある STOMP は、一連のコマンドと制御文字を備えた TCP ベースのメッセージングであるように見えます。

.NET では、このプロトコルを使用してアプリケーションやライブラリを構築できないことについて疑問を抱かせるものは何もありません。.NET STOMP ライブラリをゼロから構築する場合は、.NET を活用する必要があります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 に答える