ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MQTT を使用してリアルタイムの顧客対話機能を Web サイトに追加する方法
PHP と MQTT を使用して顧客とのリアルタイムの対話を Web サイトに追加する方法
インターネットの急速な発展に伴い、Web サイトの対話性もユーザー エクスペリエンスの重要な部分になりました。顧客とのリアルタイムの対話を実現するには、従来の Web ページ要求応答モデルではもはやニーズを満たすことができません。 MQTT (Message Queuing Telemetry Transport) は、軽量のパブリッシュ/サブスクライブ プロトコルとして、リアルタイム通信ソリューションを提供します。この記事では、PHP と MQTT を使用して、顧客とのリアルタイムの対話を Web サイトに追加する方法を紹介します。
まず、MQTT サーバーをセットアップする必要があります。一般的に使用される MQTT サーバーには、Mosquitto、EMQX などが含まれます。 Mosquitto を例に挙げると、次のコマンドを使用して Linux システムにインストールできます:
sudo apt-get update sudo apt-get install mosquitto sudo apt-get install mosquitto-clients
インストールが完了したら、MQTT サーバーを起動し、後続のコード用に「testtopic」という名前のトピックを作成できます。例。
PHP には MQTT サポートが組み込まれていません。MQTT 操作に PHP を使用する前に、MQTT PHP 拡張ライブラリをインストールする必要があります。次の手順で拡張ライブラリをインストールできます。
git clone https://github.com/bluerhinos/phpMQTT.git cd phpMQTT phpize ./configure make sudo make install
インストールが完了したら、php.ini ファイルに次の行を追加します。
extension=php_mosquitto.so
次に、PHP サービスを再起動して、それは効果的です。
PHP コードでは、まず MQTT サーバーに接続する必要があります。サンプル コードは次のとおりです。
<?php $host = "localhost"; // MQTT服务器地址 $port = 1883; // MQTT服务器端口 $clientId = "client1"; // 客户端ID $client = new MosquittoClient($clientId); $client->connect($host, $port, 60); ?>
サーバーに接続する前に、MQTT ライブラリを導入し、MQTT サーバーのアドレス、ポート、クライアント ID を設定する必要があります。 connect
メソッドを通じて、MQTT サーバーとの接続を確立できます。
MQTT では、トピックのサブスクライブは、パブリッシュ/サブスクライブ モデルを実装するための中心的な操作です。 MQTT クライアントを使用して、関心のあるトピックをサブスクライブできます。サンプル コードは次のとおりです。
<?php $topic = "testtopic"; // 订阅的主题 $client->subscribe($topic, 1); ?>
subscribe
メソッドを通じて、指定されたトピックをサブスクライブできます。最初のパラメータはサブスクライブするトピックで、2 番目のパラメータはサブスクリプションの QoS (サービス品質) レベルを示し、通常は 1 に設定できます。
トピックに登録すると、MQTT サーバーからメッセージを受信できるようになります。サンプル コードは次のとおりです。
<?php $client->onMessage(function ($message) { $topic = $message->topic; $payload = $message->payload; // 处理接收到的消息 // ... // 返回响应给客户端 // ... }); $client->loopForever(); ?>
onMessage
メソッドでは、受信したメッセージを処理し、さまざまなメッセージ タイプに対応する操作を実行できます。その後、クライアントに応答を返すことができます。
メッセージを受信するだけでなく、MQTT クライアントを使用してメッセージをパブリッシュすることもできます。サンプル コードは次のとおりです。
<?php $topic = "testtopic"; // 发布的主题 $payload = "Hello, world!"; // 发布的消息内容 $client->publish($topic, $payload, 1, false); ?>
publish
メソッドを通じて、指定されたメッセージをパブリッシュできます。最初のパラメータは公開されたトピック、2 番目のパラメータは公開されたメッセージの内容、3 番目のパラメータはメッセージの QoS レベル、4 番目のパラメータはメッセージを保持するかどうかを示します。
MQTT 接続が必要なくなったら、適時に切断する必要があります。サンプル コードは次のとおりです。
<?php $client->disconnect(); unset($client); ?>
disconnect
メソッドを通じて、MQTT サーバーから切断し、リソースを解放できます。
上記の 7 つの手順を通じて、PHP と MQTT を使用して、顧客とのリアルタイムの対話を Web サイトに追加できます。トピックを購読し、メッセージを公開することで、リアルタイムのコミュニケーションを簡単に実現でき、Web サイトに双方向性とリアルタイム性を追加できます。この記事がお役に立てば幸いです!
以上がPHP と MQTT を使用してリアルタイムの顧客対話機能を Web サイトに追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。