host能輸入domain跟ip
持續改進中....接下來udp跟ssl連線也都要可以測
給它主機名稱跟port,如果正常連線會傳回ture失敗傳回false,監測時間大概一秒鐘,超過則算失敗
function chkservice($host, $port)
{
if (ini_get('display_errors')==1){ //判斷ini的display errors的設定
$ch_ini_display=1;
ini_set('display_errors', 0);//設定連線錯誤時不要display errors
}
$hostip = gethostbyname($host); //檢查輸入的host name dns正解
if (!$x = fsockopen($hostip, $port, $errno, $errstr, 1)) //測試連線
{
return false;
}
else
{
return ture;
if ($x){fclose($x); //關閉連線,好寶寶都會養成的好習慣,也不知道有沒有用
}
}
if ($ch_ini_display==1) ini_set('display_errors', 1); //將ini的display error設定改回來
}
持續改進中....接下來udp跟ssl連線也都要可以測
給它主機名稱跟port,如果正常連線會傳回ture失敗傳回false,監測時間大概一秒鐘,超過則算失敗
function chkservice($host, $port)
{
if (ini_get('display_errors')==1){ //判斷ini的display errors的設定
$ch_ini_display=1;
ini_set('display_errors', 0);//設定連線錯誤時不要display errors
}
$hostip = gethostbyname($host); //檢查輸入的host name dns正解
if (!$x = fsockopen($hostip, $port, $errno, $errstr, 1)) //測試連線
{
return false;
}
else
{
return ture;
if ($x){fclose($x); //關閉連線,好寶寶都會養成的好習慣,也不知道有沒有用
}
}
if ($ch_ini_display==1) ini_set('display_errors', 1); //將ini的display error設定改回來
}
文章標籤
全站熱搜

google到這篇,寫的很好,不過有點小小的問題,那就是return後面的程式是不執行的 所以我手癢的改了下 function chkservice($host, $port){ $ch_ini_display=(ini_get('display_errors')==1); if ($ch_ini_display) //判斷ini的display errors的設定 ini_set('display_errors', 0);//設定連線錯誤時不要display errors $x = fsockopen(gethostbyname($host), $port, $errno, $errstr, 1); if ($ch_ini_display) ini_set('display_errors', 1); //將ini的display error設定改回來 if (!$x)//測試連線 return false; else{ fclose($x); return true; } }