Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Melaksanakan Undian Panjang Mudah Menggunakan Apache dan PHP?

Bagaimana untuk Melaksanakan Undian Panjang Mudah Menggunakan Apache dan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-31 02:16:09396semak imbas

How to Implement Simple Long Polling Using Apache and PHP?

Melaksanakan Tinjauan Panjang Mudah

Banyak sumber menerangkan konsep tinjauan panjang, tetapi contoh pelaksanaan praktikal masih sukar difahami. Mari kita mendalami versi yang dipermudahkan tanpa bergantung pada rangka kerja atau konfigurasi pelayan yang kompleks.

Menggunakan Apache dan PHP untuk Komunikasi Pelayan

Untuk mengendalikan permintaan pelayan, Apache adalah memadai. Skrip PHP di bawah menghantar rentetan rawak selepas selang rawak, mensimulasikan ketibaan mesej masa nyata. Kadangkala, ia mengembalikan ralat untuk tujuan demonstrasi.

<?php
if (rand(1, 3) == 1) {
    header("HTTP/1.0 404 Not Found");
    die();
}
sleep(rand(2, 10));
echo("Hi! Have a random number: " . rand(1, 10));
?>

Klien JavaScript untuk Pengundian Lama

Dalam JavaScript, peninjau panjang terus meminta skrip di atas dan menunggu jawapan:

<script type="text/javascript">
function waitForMsg() {
    $.ajax({
        type: "GET",
        url: "msgsrv.php",

        success: function(data) {
            // Display the message
            $("#messages").append("<div class='msg new'>" + data + "</div>");

            // Recursively invoke waitForMsg
            setTimeout(waitForMsg, 1000);
        },
        error: function() {
            // Display the error message and restart the process after 15 seconds
            $("#messages").append("<div class='msg error'>Error encountered</div>");
            setTimeout(waitForMsg, 15000);
        }
    });
}

$(document).ready(function() {
    waitForMsg();
});
</script>

Skrip ini sentiasa menyemak kemas kini pelayan dan memaparkan masuk mesej. Pengendalian ralat digabungkan dan pengundi lama cuba menyambung semula selepas tempoh tamat masa yang ditentukan.

Kekuatan Undian Lama

Tinjauan panjang menawarkan beberapa faedah:

  • Ketahanan: Sekiranya berlaku kehilangan sambungan internet, pelanggan boleh pulih dan menyambung semula secara automatik.
  • Skalabiliti: Pelayan kendiri boleh mengendalikan berbilang permintaan tinjauan panjang serentak tanpa menjejaskan prestasi tapak web.
  • Kesederhanaan: Kod, kedua-dua bahagian pelayan dan bahagian pelanggan, adalah mudah dan mudah untuk dilaksanakan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Undian Panjang Mudah Menggunakan Apache dan PHP?. 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