Cara membangunkan fungsi tolak mesej masa nyata menggunakan PHP dan MQTT
Gambaran Keseluruhan
Dengan perkembangan pesat teknologi Internet, tolakan mesej masa nyata telah menjadi salah satu fungsi penting dalam banyak aplikasi. Melalui push mesej masa nyata, kami boleh merealisasikan fungsi seperti komunikasi segera dan kemas kini mesej masa nyata. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT (Message Qeuing Telemetry Transport) untuk membangunkan fungsi tolak mesej masa nyata.
Apakah itu MQTT?
MQTT ialah protokol ringan yang direka untuk menyediakan sokongan komunikasi untuk peranti IoT dalam persekitaran rangkaian jalur lebar rendah, kependaman tinggi dan tidak boleh dipercayai. MQTT adalah berdasarkan model terbitkan/langganan, di mana penerbit (Penerbit) menerbitkan mesej kepada topik tertentu (Topik) dan pelanggan (Pelanggan) boleh melanggan topik tertentu dan menerima mesej yang sepadan.
Persediaan
Sebelum memulakan pembangunan, kita perlu memenuhi persediaan berikut:
Pasang perpustakaan nyamuk: pelaksanaan MQTT adalah sumber terbuka; . Perpustakaan nyamuk boleh dipasang melalui arahan berikut:
sudo apt-get install mosquitto
Ini akan memasang pustaka dan klien mosquitto runtime
Langkah pembangunan
Pasang protokol MQTT PHP
Untuk memudahkan penggunaan MQTT PHP; kita boleh menggunakan sambungan PHP MQTT. Anda boleh memasang sambungan PHP MQTT melalui langkah berikut:
git clone https://github.com/mgdm/Mosquitto-PHP.git cd Mosquitto-PHP phpize ./configure make sudo make install
Pastikan laluan ke sambungan wayarles php.ini ditambahkan pada direktori pemasangan, dan kemudian mulakan semula pelayan Apache/nginx.
Develop Publisher
<?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 "连接失败!"; }
Kod di atas mencipta tika penerbit MQTT dengan menyambung ke pelayan MQTT yang ditentukan dan menerbitkan mesej ke topik yang ditentukan.
Develop Subscriber
<?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 "连接失败!"; }
Kod di atas mencipta tika pelanggan MQTT dan memperoleh mesej yang sepadan dengan menyambung ke pelayan MQTT yang ditentukan dan melanggan topik tertentu.
Ringkasan
Dengan menggunakan protokol PHP dan MQTT bersama-sama, kami boleh melaksanakan fungsi tolak mesej masa nyata dengan mudah. Dalam contoh di atas, kami menggunakan corak terbitkan/langganan untuk menerbitkan dan menerima mesej. Dalam proses pembangunan sebenar, lebih banyak pengembangan dan penyesuaian boleh dijalankan mengikut keperluan anda sendiri. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk membangunkan fungsi tolak mesej masa nyata menggunakan PHP dan MQTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!