Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah PHP Ping Gabungan IP dan Port Tertentu?

Bolehkah PHP Ping Gabungan IP dan Port Tertentu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-18 12:37:35306semak imbas

Can PHP Ping a Specific IP and Port Combination?

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!

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