Rumah > Artikel > pembangunan bahagian belakang > Apakah perbezaan antara sambungan panjang dan sambungan pendek dalam php
Perbezaan antara sambungan panjang dan sambungan pendek dalam PHP: 1. Sambungan pendek bermakna selepas sambungan SOKET, sambungan akan terputus serta-merta selepas menghantar dan menerima data manakala sambungan panjang bermakna selepas mewujudkan sambungan SOKET, tidak tidak kira sama ada ia digunakan atau tidak, sambungan akan diputuskan serta-merta Sambungan kekal terbuka sehingga satu pihak menutup sambungan. 2. Berbanding dengan sambungan pendek, sambungan panjang kurang selamat.
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP7.1, komputer DELL G3
Sambung Pendek
Sambung->Pindahkan data->Tutup sambungan
Sebagai contoh, HTTP ialah pautan pendek tanpa kewarganegaraan, penyemak imbas dan pelayan Setiap kali operasi HTTP dilakukan, sambungan diwujudkan, tetapi sambungan ditamatkan apabila tugas selesai.
Khususnya, klien penyemak imbas memulakan dan mewujudkan sambungan TCP-> sejurus selepas menghantar kaedah socket.close->klien menerima mesej respons->klien akhirnya akan menerima isyarat daripada pelayan untuk memutuskan sambungan TCP->klien memutuskan sambungan TCP, khususnya dengan memanggil kaedah tutup.
Boleh juga dikatakan: sambungan pendek bermaksud selepas SOKET disambungkan, sambungan diputuskan serta-merta selepas menghantar dan menerima data.
Oleh kerana sambungan terputus selepas menerima data, tiada kenalan setiap kali data diterima dan diproses. Ini adalah salah satu sebab mengapa protokol HTTP tidak mempunyai kewarganegaraan.
Sambungan lama
Sambung->Pindahkan data->Teruskan sambungan-> .........->Sehingga satu pihak menutup sambungan, mungkin pelanggan menutup sambungan.
Sambungan panjang bermakna selepas mewujudkan sambungan SOKET, sambungan akan dikekalkan tidak kira sama ada ia digunakan, tetapi keselamatannya lemah.
Setiap kali kami mengakses skrip PHP, kami hanya mendapat hasil pulangan selepas semua skrip PHP dilaksanakan. Jika kita memerlukan skrip untuk berjalan secara berterusan, maka kita mesti menggunakan sambungan panjang PHP untuk mencapai tujuan operasi.
Persekitaran PHP umum ialah Apache PHP Linux, tetapi memandangkan Apache mempunyai had masa pada sambungan PHP, secara amnya pelayan Apache akan terputus sambungan secara automatik selepas masa sambungan ini melebihi.
Dalam kes ini, cara yang lebih mudah dan mudah ialah menetapkan set_time_limit(0) dalam halaman php (sudah tentu ia juga boleh ditetapkan dalam fail konfigurasi php.ini, tetapi ini akan memberi kesan kepada keseluruhan persekitaran. Lagipun, kami tidak mahu Semua sambungan boleh disambungkan untuk masa yang lama, menjejaskan prestasi perkhidmatan)
Setiap skrip PHP mengehadkan masa pelaksanaan, jadi kami perlu menetapkan masa pelaksanaan bagi skrip kepada unlimited melalui set_time_limit, dan kemudian gunakan flush() dan ob_flush() untuk mengosongkan penimbal pelayan dan mengeluarkan nilai pulangan skrip pada bila-bila masa.
<?php header("Content-Type: text/plain"); set_time_limit(0); while (true) {// 持续执行的脚本 flush(); ob_flush(); sleep(5); } ?>
Apabila kami melaksanakan, kami akan melaksanakannya setiap 5 saat Melalui kaedah ini, kami boleh menyelesaikan banyak fungsi, seperti program pemantauan latar belakang, fungsi pelaksanaan berjadual, analisis log, dan pengisihan data memakan masa. operasi.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah perbezaan antara sambungan panjang dan sambungan pendek dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!