Rumah >pembangunan bahagian belakang >tutorial php >PHP dan MQTT: Membina sistem komunikasi masa nyata merentas platform

PHP dan MQTT: Membina sistem komunikasi masa nyata merentas platform

WBOY
WBOYasal
2023-07-08 15:00:101849semak imbas

PHP dan MQTT: Membina sistem komunikasi masa nyata merentas platform

Dengan perkembangan pesat Internet, komunikasi masa nyata menjadi semakin penting dalam pelbagai bidang. Apabila membangunkan sistem komunikasi masa nyata, adalah sangat penting untuk memilih protokol merentas platform yang boleh dipercayai. MQTT (Message Qeuing Telemetry Transport) ialah protokol penerbitan/langganan ringan yang boleh menyediakan keupayaan komunikasi masa nyata yang cekap dan stabil. Artikel ini akan memperkenalkan cara menggunakan PHP dan MQTT untuk membina sistem komunikasi masa nyata merentas platform dan menyediakan contoh kod.

  1. Pengenalan kepada MQTT
    MQTT ialah protokol terbitkan/langgan berdasarkan protokol TCP/IP, yang membolehkan pelbagai peranti berkomunikasi dalam masa nyata melalui Internet. MQTT mempunyai ciri-ciri penggunaan lebar jalur yang rendah, penggunaan kuasa yang rendah, pemprosesan tak segerak, dsb., dan sangat sesuai untuk senario seperti Internet Perkara dan aplikasi mudah alih. MQTT menggunakan Broker sebagai orang tengah, dan semua mesej dimajukan melalui Broker.
  2. Pengetahuan asas PHP
    Sebelum menggunakan PHP untuk membangunkan sistem komunikasi masa nyata MQTT, anda perlu menguasai pengetahuan asas PHP berikut:
  3. Sintaks asas dan struktur kawalan PHP
  4. Pengaturcaraan rangkaian PHP
  5. Fungsi pemprosesan JSON PHP
  6. Pasang sambungan PHP MQTT
    Untuk menggunakan protokol MQTT dalam PHP, anda perlu memasang sambungan PHP MQTT terlebih dahulu. Ia boleh dipasang melalui langkah berikut:
  7. Dalam sistem Linux, anda boleh menggunakan arahan PECL untuk memasang: pecl install Mosquitto-alpha
  8. Dalam sistem Windows, anda boleh memuat turun fail DLL sambungan MQTT di laman web rasmi PHP dan letakkannya dalam PHP direktori sambungan Seterusnya, kemudian tambah konfigurasi sambungan dalam fail php.ini.
  9. Sambung ke MQTT Broker
    Untuk menggunakan protokol MQTT dalam PHP untuk komunikasi masa nyata, anda perlu menyambung kepada Broker MQTT terlebih dahulu. Contoh kod berikut boleh digunakan untuk menyambung kepada Broker MQTT:
<?php
$mqtt = new MosquittoClient();
$mqtt->connect('mqtt.example.com', 1883, 60);

Dalam kod di atas, kami telah mencipta objek MosquittoClient dan disambungkan kepada Broker MQTT menggunakan kaedah sambungan. Perlu diingatkan bahawa alamat dan port Broker boleh diubah suai mengikut keadaan sebenar.

  1. Terbitkan Mesej
    Dalam protokol MQTT, penerbit boleh menerbitkan mesej kepada topik tertentu. Contoh kod berikut boleh digunakan untuk menerbitkan mesej:
<?php
$mqtt->publish('topic', 'message');

Dalam kod di atas, kami menerbitkan mesej menggunakan kaedah terbitkan. Ambil perhatian bahawa anda boleh menggantikan 'topik' dengan nama topik sebenar dan 'mesej' dengan kandungan mesej sebenar.

  1. Langgan topik
    Dalam protokol MQTT, pelanggan boleh menerima mesej dengan melanggan topik. Anda boleh melanggan topik menggunakan contoh kod berikut:
<?php
$mqtt->subscribe('topic', 0);
$mqtt->loop();

Dalam kod di atas, kami telah melanggan topik menggunakan kaedah langgan. Ambil perhatian bahawa anda boleh menggantikan 'topik' dengan nama topik sebenar dan 0 dengan tahap QoS sebenar.

  1. Memproses mesej yang diterima
    Dalam protokol MQTT, mesej yang diterima boleh diproses melalui fungsi panggil balik. Contoh kod berikut boleh digunakan untuk mengendalikan mesej yang diterima:
<?php
$mqtt->onMessage(function ($message) {
    echo 'Received message: ' . $message->payload . PHP_EOL;
});

Dalam kod di atas, kami telah menggunakan kaedah onMessage untuk menetapkan fungsi panggil balik. Dalam fungsi panggil balik, mesej yang diterima boleh diproses. Perlu diingatkan bahawa pelaksanaan fungsi panggil balik boleh diubah suai mengikut situasi sebenar.

  1. Putuskan sambungan
    Selepas melengkapkan komunikasi masa nyata, anda perlu memutuskan sambungan daripada Broker MQTT. Contoh kod berikut boleh digunakan untuk memutuskan sambungan:
<?php
$mqtt->disconnect();

Dalam kod di atas, kami telah menggunakan kaedah putus sambungan untuk memutuskan sambungan.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan PHP dan MQTT untuk membina sistem komunikasi masa nyata merentas platform dan menyediakan contoh kod yang sepadan. Dengan menggunakan sambungan PHP MQTT, kami boleh menyambung dengan mudah kepada Broker MQTT, menerbitkan mesej, melanggan topik dan memproses mesej yang diterima. Saya berharap melalui pengenalan artikel ini, pembaca dapat memahami cara menggunakan PHP dan MQTT untuk membina sistem komunikasi masa nyata.

Rujukan:

  1. Nyamuk - http://mosquitto.org/
  2. sambungan PHP MQTT - https://github.com/mgdm/Mosquitto-PHP

Atas ialah kandungan terperinci PHP dan MQTT: Membina sistem komunikasi masa nyata merentas platform. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn