Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform

Cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform

WBOY
WBOYasal
2023-09-09 13:18:301215semak imbas

Cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform

Cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform

Pengenalan:
Dengan perkembangan Internet, dalam talian aplikasi sembang telah Ia telah menjadi bahagian yang amat diperlukan dalam kehidupan dan pekerjaan harian orang ramai. Menggunakan rangka kerja Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform membolehkan kami menyesuaikan diri dengan lebih baik pada platform berbeza dan memberikan pengalaman pengguna yang lebih baik. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Workerman untuk membina aplikasi sembang dalam talian merentas platform dan menyediakan contoh kod yang sepadan.

1. Pengenalan kepada Workerman
Workerman ialah enjin komunikasi soket PHP berprestasi tinggi yang digunakan untuk membina aplikasi rangkaian dengan cepat. Ia berdasarkan model I/O yang dipacu peristiwa, tidak menyekat dan menyokong pemprosesan serentak yang tinggi. Workerman boleh digunakan sebagai pelayan TCP/UDP bebas atau sebagai sambungan soket PHP untuk dijalankan dalam persekitaran LAMP (Linux + Apache + Mysql + PHP) tradisional.

2. Persediaan persekitaran
Sebelum kita bermula, kita perlu menyediakan persekitaran yang menyokong PHP dan memasang rangka kerja Workerman. Workerman boleh dipasang melalui arahan berikut:

composer require workerman/workerman

3. Buat pelayan
Pertama, kita perlu mencipta pelayan sembang untuk menerima dan memproses sambungan dan mesej pelanggan. Berikut ialah contoh pelayan mudah:

use WorkermanWorker;

$worker = new Worker('websocket://0.0.0.0:8000');

// 客户端连接时触发
$worker->onConnect = function($connection) {
    echo "New connection
";
};

// 客户端断开连接时触发
$worker->onClose = function($connection) {
    echo "Connection closed
";
};

// 客户端发送消息时触发
$worker->onMessage = function($connection, $data) {
    echo "Received message: " . $data . "
";

    // 将消息广播给所有在线客户端
    foreach ($worker->connections as $clientConnection) {
        $clientConnection->send($data);
    }
};

Worker::runAll();

Kod di atas mencipta pelayan berdasarkan protokol WebSocket, mendengar pada port tempatan 8000. Apabila pelanggan baharu menyambung, "Sambungan baharu" akan dicetak apabila pelanggan memutuskan sambungan, "Sambungan ditutup" akan dicetak apabila pelanggan menghantar mesej, mesej akan disiarkan kepada semua pelanggan dalam talian.

4 Buat pelanggan
Seterusnya, kita perlu mencipta pelanggan sembang, menyambung ke pelayan, dan melaksanakan fungsi menghantar dan menerima mesej. Berikut ialah contoh klien mudah:

<!DOCTYPE html>
<html>
<head>
    <title>Chat</title>
    <style>
        #messages {
            width: 400px;
            height: 300px;
            border: 1px solid #000;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div id="messages"></div>
    <form id="message-form">
        <input type="text" id="message-input" autocomplete="off" placeholder="Type a message">
        <button type="submit">Send</button>
    </form>

    <script>
        var socket = new WebSocket('ws://localhost:8000');

        socket.onopen = function() {
            console.log('Connected to the server');
        };

        socket.onmessage = function(event) {
            var messages = document.getElementById('messages');
            messages.innerHTML += '<div>' + event.data + '</div>';
        };

        document.getElementById('message-form').addEventListener('submit', function(event) {
            event.preventDefault();

            var messageInput = document.getElementById('message-input');
            var message = messageInput.value;

            socket.send(message);

            messageInput.value = '';
        });
    </script>
</body>
</html>

Kod di atas mencipta klien berdasarkan protokol WebSocket Apabila menerima mesej yang dihantar oleh pelayan, ia memaparkan mesej pada halaman borang Apabila, mesej yang dimasukkan dihantar ke pelayan.

5 Jalankan aplikasi
Pertama, jalankan pelayan sembang dan laksanakan arahan berikut dalam terminal:

php server.php start

Kemudian, buka tetingkap penyemak imbas dan lawati halaman pelanggan. Hanya masukkan mesej anda dan klik butang Hantar untuk menghantarnya. Mesej yang dihantar juga boleh dilihat oleh pelanggan lain.

6. Ringkasan
Melalui langkah di atas, kami berjaya menggunakan rangka kerja Workerman untuk mencipta aplikasi sembang dalam talian merentas platform. Aplikasi ini boleh digunakan pada platform yang berbeza dan memberikan pengalaman pengguna yang baik. Melalui prestasi tinggi rangka kerja Workerman, kami boleh mengendalikan sejumlah besar sambungan serentak dan menyediakan perkhidmatan yang stabil dan boleh dipercayai.

Artikel ini memberikan contoh mudah untuk rujukan pembaca dan boleh dikembangkan mengikut keperluan sebenar. Saya berharap pembaca dapat lebih memahami cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform dengan mempelajari artikel ini.

Atas ialah kandungan terperinci Cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian 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