>백엔드 개발 >PHP 튜토리얼 >PHP 및 MQTT를 사용하여 웹사이트에 실시간 사용자 채팅 기능을 추가하는 방법

PHP 및 MQTT를 사용하여 웹사이트에 실시간 사용자 채팅 기능을 추가하는 방법

WBOY
WBOY원래의
2023-07-08 19:46:371498검색

PHP와 MQTT를 사용하여 웹사이트에 실시간 사용자 채팅 기능을 추가하는 방법

오늘날의 인터넷 시대에 웹사이트 사용자는 점점 더 실시간 통신과 통신이 필요합니다. 이러한 요구를 충족하기 위해 PHP와 MQTT를 사용할 수 있습니다. 웹사이트에 실시간 사용자를 추가하세요. 이 기사에서는 PHP와 MQTT를 사용하여 웹사이트의 실시간 사용자 채팅 기능을 구현하는 방법을 소개하고 코드 예제를 제공합니다.

  1. 환경 준비 확인
    시작하기 전에 PHP 및 MQTT의 실행 환경을 설치하고 구성했는지 확인하세요. XAMPP와 같은 통합 개발 환경을 사용하거나 PHP 및 MQTT의 실행 환경을 별도로 구성할 수 있습니다. 동시에 Mosquitto와 같은 오픈 소스 MQTT 브로커를 사용할 수도 있습니다.
  2. MQTT PHP 확장 설치
    PHP에서 MQTT 프로토콜을 사용하려면 MQTT PHP 확장을 설치해야 합니다. GitHub에서 MQTT PHP 확장을 다운로드, 컴파일 및 설치하거나 Composer를 사용하여 설치할 수 있습니다.
  3. MQTT 브로커에 연결
    PHP 코드에서 메시지를 보내고 받으려면 먼저 MQTT 브로커에 연결해야 합니다. 다음은 MQTT 브로커에 연결하는 예입니다.
<?php
require("phpMQTT.php");

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

위 코드에서는 phpMQTT 클래스를 사용하여 MQTT 브로커에 연결합니다. "Mqtt.example.com"을 자신의 MQTT 브로커 주소로 바꿔야 합니다.

  1. 메시지 보내기 및 받기
    MQTT 브로커에 성공적으로 연결되면 주제를 게시하고 구독하여 메시지를 보내고 받을 수 있습니다. 다음은 메시지 보내기의 예입니다.
<?php
$topic = "chat";
$message = "Hello, World!";
$mqtt->publish($topic, $message);

위 코드에서는 "chat"이라는 주제를 게시하고 메시지를 보냈습니다.

다음은 메시지 수신 예입니다.

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

위 코드에서는 "chat"이라는 주제를 구독하고 루프를 사용하여 지속적으로 메시지를 수신하고 인쇄합니다.

  1. 웹사이트에 채팅 인터페이스 추가
    웹사이트에 채팅 기능을 추가하려면 프런트 엔드 인터페이스에 채팅 창을 삽입하고 JavaScript를 통해 MQTT 브로커로부터 메시지를 수신하여 채팅 창에 표시해야 합니다.

다음은 간단한 채팅 창의 HTML 코드입니다.

<!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>

위 코드에서는 Paho.MQTT.Client 클래스를 사용하여 MQTT 브로커에 연결하고 주제 구독, 메시지 수신, 채팅을 구현합니다. 메시지 보내기 기능.

위 코드를 HTML 파일로 저장하고 MQTT 브로커의 주소를 자신의 주소로 바꾸면 웹사이트에서 라이브 사용자 채팅 기능을 사용할 수 있습니다.

요약
이 문서에서는 PHP 및 MQTT를 사용하여 웹사이트에 실시간 사용자 채팅 기능을 추가하는 방법을 설명합니다. MQTT Broker에 접속하여 메시지를 주고 받고 웹사이트에 채팅 인터페이스를 추가함으로써 간단한 실시간 사용자 채팅 기능을 구현할 수 있습니다. 이 기사가 이 작업을 완료하는 데 도움이 되기를 바랍니다.

위 내용은 PHP 및 MQTT를 사용하여 웹사이트에 실시간 사용자 채팅 기능을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.