Heim >Backend-Entwicklung >PHP-Tutorial >So fügen Sie mithilfe von PHP und MQTT Echtzeit-Benutzer-Chat-Funktionen zu Ihrer Website hinzu

So fügen Sie mithilfe von PHP und MQTT Echtzeit-Benutzer-Chat-Funktionen zu Ihrer Website hinzu

WBOY
WBOYOriginal
2023-07-08 19:46:371539Durchsuche

So verwenden Sie PHP und MQTT, um der Website eine Echtzeit-Benutzer-Chat-Funktion hinzuzufügen.

Im heutigen Internetzeitalter benötigen Website-Benutzer zunehmend Echtzeitkommunikation und -kommunikation. Um dieser Nachfrage gerecht zu werden, können wir PHP und MQTT verwenden Fügen Sie der Website Echtzeitbenutzer hinzu. In diesem Artikel wird die Verwendung von PHP und MQTT zur Implementierung der Echtzeit-Benutzer-Chat-Funktion der Website vorgestellt und Codebeispiele bereitgestellt.

  1. Stellen Sie die Vorbereitung der Umgebung sicher
    Bevor Sie beginnen, stellen Sie sicher, dass Sie die laufende Umgebung von PHP und MQTT installiert und konfiguriert haben. Sie können eine integrierte Entwicklungsumgebung wie XAMPP verwenden oder die Laufumgebungen von PHP und MQTT separat konfigurieren. Gleichzeitig benötigen Sie auch einen MQTT-Broker. Sie können Open-Source-MQTT-Broker wie Mosquitto verwenden.
  2. Installieren Sie die MQTT-PHP-Erweiterung
    Um das MQTT-Protokoll in PHP verwenden zu können, müssen wir die MQTT-PHP-Erweiterung installieren. Sie können die MQTT-PHP-Erweiterung von GitHub herunterladen, kompilieren und installieren oder Composer verwenden, um sie zu installieren.
  3. Mit MQTT-Broker verbinden
    Im PHP-Code müssen wir zuerst eine Verbindung mit dem MQTT-Broker herstellen, um Nachrichten senden und empfangen zu können. Das Folgende ist ein Beispiel für die Verbindung zum MQTT-Broker:
<?php
require("phpMQTT.php");

$mqtt = new phpMQTT("mqtt.example.com", 1883, "phpMQTT Chat Client");
if (!$mqtt->connect()) {
    exit("连接MQTT Broker失败");
}

Im obigen Code verwenden wir die phpMQTT-Klasse, um eine Verbindung zum MQTT-Broker herzustellen. Beachten Sie, dass Sie „Mqtt.example.com“ durch die Adresse Ihres eigenen MQTT-Brokers ersetzen müssen.

  1. Nachrichten senden und empfangen
    Nach erfolgreicher Verbindung mit dem MQTT-Broker können wir Nachrichten senden und empfangen, indem wir Themen veröffentlichen und abonnieren. Hier ist ein Beispiel für das Senden einer Nachricht:
<?php
$topic = "chat";
$message = "Hello, World!";
$mqtt->publish($topic, $message);

Im obigen Code haben wir ein Thema namens „Chat“ veröffentlicht und eine Nachricht gesendet.

Das Folgende ist ein Beispiel für den Empfang von Nachrichten:

<?php
$topic = "chat";
$mqtt->subscribe($topic);
while($mqtt->proc()){
    $message = $mqtt->message;
    echo "收到消息:".$message;
}

Im obigen Code abonnieren wir das Thema „Chat“ und verwenden eine Schleife, um kontinuierlich Nachrichten zu empfangen und auszudrucken.

  1. Chat-Schnittstelle zur Website hinzufügen
    Um der Website eine Chat-Funktion hinzuzufügen, müssen wir ein Chat-Fenster in die Front-End-Schnittstelle einbetten und Nachrichten vom MQTT-Broker über JavaScript empfangen und im Chat-Fenster anzeigen.

Das Folgende ist der HTML-Code eines einfachen Chat-Fensters:

<!DOCTYPE html>
<html>
<head>
    <title>实时用户聊天</title>
</head>
<body>
    <div id="chat-window">
        <ul id="chat-messages"></ul>
        <input type="text" id="message-input" placeholder="输入消息">
        <button id="send-button">发送</button>
    </div>
    
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="mqttws31.js"></script>
    <script>
        var mqtt = new Paho.MQTT.Client("mqtt.example.com", Number(1883), "jsMQTT Chat Client");
        mqtt.onMessageArrived = function(message) {
            $("#chat-messages").append("<li>" + message.payloadString + "</li>");
        };
        mqtt.connect({onSuccess:function() {
            mqtt.subscribe("chat");
        }});
        
        $(document).ready(function() {
            $("#send-button").click(function() {
                var message = $("#message-input").val();
                var message = new Paho.MQTT.Message(message);
                message.destinationName = "chat";
                mqtt.send(message);
                $("#message-input").val("");
            });
        });
    </script>
</body>
</html>

Im obigen Code verwenden wir die Klasse Paho.MQTT.Client, um eine Verbindung zum MQTT-Broker herzustellen und den Chat durch Abonnieren von Themen, Empfangen von Nachrichten usw. zu implementieren Funktion zum Senden von Nachrichten.

Indem Sie den obigen Code als HTML-Datei speichern und die Adresse des MQTT-Brokers durch Ihre eigene Adresse ersetzen, können Sie die Live-Benutzer-Chat-Funktion auf Ihrer Website nutzen.

Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und MQTT Echtzeit-Benutzer-Chat-Funktionen zu Ihrer Website hinzufügen. Durch die Verbindung mit MQTT Broker, das Senden und Empfangen von Nachrichten und das Hinzufügen einer Chat-Schnittstelle zur Website können wir eine einfache Benutzer-Chat-Funktion in Echtzeit implementieren. Ich hoffe, dieser Artikel kann Ihnen bei der Bewältigung dieser Aufgabe helfen.

Das obige ist der detaillierte Inhalt vonSo fügen Sie mithilfe von PHP und MQTT Echtzeit-Benutzer-Chat-Funktionen zu Ihrer Website hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn