ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MQTT を使用してリアルタイム メッセージ プッシュ機能を開発する方法
PHP と MQTT を使用してリアルタイム メッセージ プッシュ機能を開発する方法
概要
インターネット技術の急速な発展に伴い、リアルタイム メッセージ プッシュは多くのアプリケーションで不可欠な機能の 1 つになりました。 。リアルタイム メッセージ プッシュにより、インスタント メッセージングやリアルタイム メッセージ更新などの機能を実現できます。この記事では、PHP と MQTT (Message Queuing Telemetry Transport) プロトコルを使用して、リアルタイム メッセージ プッシュ機能を開発する方法を紹介します。
MQTT とは何ですか?
MQTT は、低帯域幅、高遅延、信頼性の低いネットワーク環境で IoT デバイスの通信サポートを提供するように設計された軽量プロトコルです。 MQTT はパブリッシュ/サブスクライブ モデルに基づいており、パブリッシャーは特定のトピックにメッセージをパブリッシュし、サブスクライバーは特定のトピックをサブスクライブして、対応するメッセージを受信できます。
準備
開発を開始する前に、次の準備を満たす必要があります。
mosquitto ライブラリをインストールします: mosquitto は MQTT のオープン ソース実装です。次のコマンドを使用して mosquitto ライブラリをインストールできます:
sudo apt-get install mosquitto
これにより、mosquitto ランタイム ライブラリとクライアントがインストールされます;
開発手順
MQTT PHP 拡張機能のインストール
MQTT プロトコルの使用を容易にするために、MQTT を使用できます。 PHPの拡張子。 MQTT PHP 拡張機能は、次の手順でインストールできます。
git clone https://github.com/mgdm/Mosquitto-PHP.git cd Mosquitto-PHP phpize ./configure make sudo make install
php.ini ワイヤレス拡張機能へのパスがインストール ディレクトリに追加されたことを確認した後、Apache/nginx サーバーを再起動します。
パブリッシャーの開発 (パブリッシャー)
<?php require("phpMQTT.php"); $server = "mqtt服务器IP地址"; // MQTT服务器地址 $port = 1883; // MQTT服务器端口号 $username = "用户名"; // MQTT服务器用户名 $password = "密码"; // MQTT服务器密码 $client_id = "发布者ID"; // 发布者ID $mqtt = new phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, $username, $password)) { $topic = "发布的主题"; // 发布的主题 $message = "你好,这是一条实时消息。"; // 要发布的消息 $mqtt->publish($topic, $message, 0); $mqtt->close(); } else { echo "连接失败!"; }
上記のコードは、指定された MQTT サーバーに接続し、指定されたテーマにメッセージをパブリッシュすることによって、MQTT パブリッシャーのインスタンスを作成します。
サブスクライバー (サブスクライバー) の開発
<?php require("phpMQTT.php"); $server = "mqtt服务器IP地址"; // MQTT服务器地址 $port = 1883; // MQTT服务器端口号 $username = "用户名"; // MQTT服务器用户名 $password = "密码"; // MQTT服务器密码 $client_id = "订阅者ID"; // 订阅者ID $mqtt = new phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, $username, $password)) { $topic = "订阅的主题"; // 订阅的主题 $mqtt->subscribe($topic, 0); while ($mqtt->proc()) { // 在这里编写自己的业务逻辑 } $mqtt->close(); } else { echo "连接失败!"; }
上記のコードは、MQTT サブスクライバーのインスタンスを作成し、指定された MQTT サーバーに接続して特定のトピックをサブスクライブすることによってそれを取得します。対応するメッセージ。
概要
PHP と MQTT プロトコルを組み合わせることで、リアルタイム メッセージ プッシュ機能を簡単に実装できます。上の例では、パブリッシュ/サブスクライブ パターンを使用してメッセージをパブリッシュおよび受信しました。実際の開発プロセスでは、ニーズに応じてさらに拡張やカスタマイズを行うことができます。この記事がお役に立てば幸いです!
以上がPHP と MQTT を使用してリアルタイム メッセージ プッシュ機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。