Rumah > rangka kerja php > Workerman > teks badan

Cara menggunakan Workerman untuk melaksanakan aplikasi sembang dalam talian merentas platform

WBOY
Lepaskan: 2023-09-09 13:18:30
asal
1250 orang telah melayarinya

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
Salin selepas log masuk

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();
Salin selepas log masuk

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>
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan