1

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 ページが開いていなくても接続を維持したいのですが、どうすればよいですか?

編集:誰かがいくつかの代替手段を推奨できる場合、サーバー上で他のテクノロジーを使用してこのサブスクリプションプロセスを処理することにオープンである可能性があります

4

1 に答える 1