web-dev-qa-db-ja.com

MQTT(Really Small Message Broker)をサブスクライブ/公開するためのC#クライアントライブラリ

Androidのプッシュ通知を実装する必要がありますが、インターネットアクセスはなく、イントラネットアクセスのみが利用可能です。したがって、C2DMおよびUrbanAirshipのようなサードパーティAPIは使用できないと思います。 MQTT RSMB(Really Small Message Broker)、C#.netをブローカーへのパブリッシャーとして、wMqtt.jarをAndroidブローカーへのサブクライバーとして使用).

RSMBをダウンロードしましたが、次のexeが見つかりました。-broker.exe -stdinpub.exe -stdoutsub.exe

Androidからサブスクライブし、stdinpub.exeをトピックに使用してメッセージを発行しました。

以下に関して、皆さんからアドバイスをもらいたいと思います。

1).RSMBは無料ですか?私のケースに合った他の選択肢はありますか?

2).How C#を使用してRSMBブローカーに接続できます(パブリッシュおよびサブスクライブ用)。 RSMB用のC#クライアントライブラリはありますか?

3).MQTTのパフォーマンスと信頼性はどうですか?同時に数百のメッセージをプッシュする必要があるかもしれません。

4)。他に方法がない場合は、C#アプリケーション内でstdinpub.exeを実行することを考えています(悪いように聞こえるかもしれません)。

ウェブ上でMQTTに関する情報がほとんどないことがわかったので、私は本当にそのようにするべきですか、それとも他の選択肢がありますか?

18
Riddle

わかりました、ここにあなたのための内訳がある:

1)RSMBをダウンロードしたときに含まれていたライセンスファイルを読む必要があります。私の理解では、商用目的でRSMBを使用することはできず、IBMがRSMBを商用製品としてリリースした場合、使用を中止する必要があります。

Mosquittoと呼ばれるオープンソースのMQTTブローカーがあります(私は開発しています)。 MQTTプロトコルを完全にサポートし、多くのプラットフォームで利用できます。また、C++およびPythonラッパーを使用したCのクライアントライブラリと、パブリッシュおよびサブスクライブクライアントの例も含まれています。詳細については、 http://mosquitto.org/

2)2つのC#ライブラリが利用可能ですが、どちらも自分で使用したことはありません。 http://mqtt.org/software で他のMQTT関連ソフトウェアの全負荷と同様にそれらへのリンクを見つけることができます

3)RSMBとMosquittoで古いVIA C3 600MHzマシンで1秒あたり1500メッセージ(各100バイト)を処理しました。最新のハードウェアでは、パフォーマンスが大幅に向上すると期待しています。

MQTTに関する情報に関しては、mosquitto Webサイトに妥当な量があることを願っています。概要については http://mosquitto.org/man/mqtt-7.html を参照してください。 http://webchat.freenode.net/ でFreenodeネットワークの#mqtt ircチャンネルに質問をすることもできます https:// launchpadにもメーリングリストがあります.net /〜mqtt-users これは役に立つかもしれません。

MQTTを使用すべきか、他の何かを使用すべきかについて、本当にコメントできないのではないかと思います。

31
ralight

クライアントにC#を使用している場合、ライブラリM2Mqttをチェックアウトできます。ライブラリに関する非常に詳細なブログ記事はすべてここで読むことができます: http://www.hivemq.com/mqtt-client-library-encyclopedia-m2mqtt/

3

ActiveMQ または RabbitMQC# clients ...両方ともサポート[〜#〜] mqtt [〜#〜]..

2
Moumit