Pub-Sub ベースのアプリケーションでCloudMQTT
として使用しています。MQTT broker
私は を使用してpublisher
にデータを公開していCloudMQTT server
ます。送信された情報を受信するために、私の Web ページのブローカーに送信するtopic
予定です。subscribe
この手順を使用してClient
(サブスクライバー) を作成しています: https://www.cloudmqtt.com/docs-php.html
コードは次のようになります。
// subscribe.php
require("phpMQTT.php");
$host = "hostname";
$port = port;
$username = "username";
$password = "password";
$mqtt = new phpMQTT($host, $port, "ClientID".rand());
if(!$mqtt->connect(true,NULL,$username,$password)){
exit(1);
}
//currently subscribed topics
$topics['topic'] = array("qos"=>0, "function"=>"procmsg");
$mqtt->subscribe($topics,0);
while($mqtt->proc()){
}
$mqtt->close();
function procmsg($topic,$msg){
echo "Msg Recieved: $msg";
}
phpMQTT.php
ファイルは次のとおりです: https://github.com/bluerhinos/phpMQTT/blob/master/phpMQTT.php
ただし、この場合の問題は、Web ページが開いている場合にのみデータを受信することです。公開されたメッセージを常に受信するために、Web ページが開いていなくても接続を維持したいのですが、どうすればよいですか?
編集:誰かがいくつかの代替手段を推奨できる場合、サーバー上で他のテクノロジーを使用してこのサブスクリプションプロセスを処理することにオープンである可能性があります