Androidスマートフォンで実行されるMQTTブローカーを知っている人はいますか?私はGoogleを試してみましたが何も見つかりませんでした。それがどれほどうまく機能するかわかりません。
これらの依存関係をgradleに追加します
_ dependencies{
compile 'io.moquette:moquette-netty-parser:0.8.1'
compile 'io.moquette:moquette-broker:0.8.1'
compile 'io.moquette:moquette-parser-commons:0.8.1'
}
_
そして使用する
_io.moquette.server.Server server = new io.moquette.server.Server();
server.startServer();
_
ブローカーサーバーを起動します。デフォルトのURIは_tcp://localhost:1883
_です
私にとって、server.startServer();
は、ファイル_BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME
_を作成できないため、例外を与えました。そこで、以下のコードを使用して_BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME
_の宛先を変更しましたが、うまくいきました。
_ try {
MemoryConfig memoryConfig = new MemoryConfig(new Properties());
memoryConfig.setProperty(BrokerConstants.PERSISTENT_STORE_PROPERTY_NAME, Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME);
server.startServer(memoryConfig);
// server.startServer();//is not working due to DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME;
Log.d(TAG,"Server Started");
}
catch (IOException e) { e.printStackTrace(); }
catch (Exception e){ e.printStackTrace(); }
_
そしてAndroid用のPahoライブラリを使用する
_compile 'org.Eclipse.paho:org.Eclipse.paho.client.mqttv3:1.1.0'
compile 'org.Eclipse.paho:org.Eclipse.paho.Android.service:1.1.1'
_
クライアントを作成して_tcp://localhost:1883
_に接続し、トピックをサブスクライブして、メッセージの公開と受信を開始します。
私はこれのために特別にアプリを開発しました、ここからダウンロードしてください-
ブローカーとクライアントも組み込まれています。すべて無料で、デバイスをホットスポットまたはWi-Fi経由でAndroid電話に接続します。
https://play.google.com/store/apps/details?id=server.com.mqtt
これが私がAndroidに適応させたMQTTブローカーライブラリです: https://github.com/interaktionsbyran/moquette あなたはあなた自身のAndroidアプリを作る必要があります、それは単なるライブラリです。