Bolehkah PHP Ping IP:Port Combination?
Apabila cuba menentukan ketersediaan pelayan, pendekatan biasa ialah ping Alamat IP dan port tertentu. Walau bagaimanapun, skrip yang direka untuk ping tapak web mungkin tidak mencukupi untuk tujuan ini.
Penyelesaian
Untuk ping gabungan IP:port dalam PHP, seseorang boleh memanfaatkan fsockopen () fungsi. Berikut ialah skrip yang diedit yang boleh mencapai ini:
<code class="php">function ping($host, $port, $timeout) { $start = microtime(true); $socket = fsockopen($host, $port, $errno, $errstr, $timeout); if (!$socket) { return "down"; } $end = microtime(true); fclose($socket); return round((($end - $start) * 1000), 0)." ms"; }</code>
Dalam skrip ini, selepas mewujudkan sambungan menggunakan fsockopen(), masa ping dikira menggunakan perbezaan antara cap waktu mula dan tamat. Jika sambungan gagal, fungsi mengembalikan "down."
Nota: Seperti yang dinyatakan dalam jawapan yang disediakan, skrip ini hanya berfungsi untuk sambungan TCP. Untuk protokol lain, teknik yang lebih maju mungkin diperlukan, melibatkan penjanaan dan penghuraian paket tersuai.
Atas ialah kandungan terperinci Bolehkah PHP Ping Gabungan IP dan Port Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!