ホームページ  >  記事  >  バックエンド開発  >  PHP と MQTT を使用して Web サイトにリアルタイム通知を追加する方法

PHP と MQTT を使用して Web サイトにリアルタイム通知を追加する方法

王林
王林オリジナル
2023-07-08 20:43:441504ブラウズ

PHP と MQTT を使用して Web サイトにリアルタイム通知機能を追加する方法

Web アプリケーションのリアルタイム通知機能は、最新の Web サイトでますます普及しています。リアルタイム通知は、ライブ チャット、リアルタイム コメント、新しいメッセージの通知など、さまざまな目的に使用できます。この記事では、PHP と MQTT プロトコルを使用して、Web サイトにリアルタイム通知機能を追加する方法を説明します。

MQTT プロトコルとは何ですか?

MQTT (Message Queuing Telemetry Transport) は、効率的なインスタント通信を提供するように設計された軽量のメッセージ送信プロトコルです。低帯域幅で不安定なネットワーク環境向けに設計されており、IoT アプリケーションのメッセージ送信に非常に適しています。

MQTT プロトコルはパブリッシュ/サブスクライブ モデルに基づいています。クライアントは特定のトピック (トピック) をサブスクライブできます。新しいメッセージがトピックにパブリッシュされると、サブスクライバーはリアルタイムで通知を受け取ります。

準備

始める前に、次の条件が満たされていることを確認する必要があります:

  1. Mosquitto などの MQTT ブローカーを実行しているサーバー。
  2. Mosquitto MQTT 拡張機能のインストールを含む PHP 開発環境。

Mosquitto MQTT 拡張機能をインストールすると、pecl コマンドを使用できます:

pecl install Mosquitto-alpha

リアルタイム通知機能の実装

この例では、簡単なチャットを作成しますアプリケーションでは、ユーザーはリアルタイムでメッセージを送信したり、他のユーザーからメッセージを受信したりできます。この機能を実装するには、PHP と MQTT を使用します。

まず、MQTT クライアントを作成し、MQTT ブローカーとの接続を確立し、トピックをサブスクライブする必要があります。 phpMQTT ライブラリを使用して、MQTT クライアントの実装を簡素化します。 phpMQTT ライブラリは、次のコードを通じてインストールできます:

composer require bluerhinos/phpmqtt

次に、chat.php という名前のファイルを作成し、次のコードを追加します。コードでは、最初に mqtt インスタンスを作成し、

localhost

1883 を MQTT ブローカーのホストとポートとして使用しました。次に、$mqtt->connect() メソッドを通じて MQTT ブローカーへの接続を確立します。接続が成功した場合は、$mqtt->subscribe("chat_room", 0) を使用して、chat_room という名前のトピックをサブスクライブします。最後に、$mqtt->proc() メソッドを使用して、MQTT ブローカーへの接続を維持します。 次に、

index.html

という名前のフロントエンド ファイルを作成し、次のコードを追加します。 <pre class='brush:php;toolbar:false;'>&lt;?php require(&quot;phpMQTT.php&quot;); $mqtt = new phpMQTT(&quot;localhost&quot;, 1883, &quot;clientId_&quot; . uniqid()); if ($mqtt-&gt;connect()) { $mqtt-&gt;subscribe(&quot;chat_room&quot;, 0); while ($mqtt-&gt;proc()) { } $mqtt-&gt;close(); } else { echo &quot;连接MQTT代理失败&quot;; }</pre>上記のコードでは、最初に次のコードを追加します。

mqtt.onConnectionLost

メソッドは、MQTT ブローカーとの接続喪失イベントを処理します。 mqtt.onMessageArrived メソッドでは、新しいメッセージを受信すると、そのメッセージをチャット履歴に追加します。

mqtt.connect()

メソッドを呼び出してコールバック関数を提供することにより、接続が成功した後に chat_room トピックにサブスクライブします。次に、jQuery を使用して、ページの読み込み時に $("#send_button").click メソッドを通じてメッセージ送信関数を実装します。 最後に、ブラウザで

index.html

ファイルを開くと、チャット インターフェイスが表示されます。 概要

この記事では、PHP および MQTT プロトコルを使用して、Web サイトにリアルタイム通知機能を追加する方法を紹介します。 phpMQTT ライブラリを使用して、ユーザーがリアルタイムでメッセージを送信したり、他のユーザーからメッセージを受信したりできるシンプルなチャット アプリケーションを作成しました。この例を通じて、MQTT プロトコルを使用して、最新の Web サイトのニーズを満たす効率的な即時通信を実現する方法を確認できます。

以上がPHP と MQTT を使用して Web サイトにリアルタイム通知を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。