PHP用fsockopen检测指定IP端口是否开启可用,可用于测试相关终端与服务器是否连通,感觉可以做为PING的功能使用。
具体的实现的PHP代码
function checkIp_Port($ip,$port){
/*
$hostname:要连接的目标主机地址,可以是 IP 地址或者域名。
$port:可选参数,指定要连接的目标主机的端口号。默认值为 -1,表示使用默认的端口号。
以下为可选参数(不常用):
&$errno:当连接失败时,将引用的变量设置为一个错误码。
&$errstr:当连接失败时,将引用的变量设置为错误信息。
$timeout:可选参数,指定连接超时时间,单位为秒。默认值为 ini_get("default_socket_timeout"),即默认为 PHP 配置中设置的 socket 超时时间。
*/
$fp = @fsockopen($ip,$port, $errno, $errstr, 3);
if (!$fp) {
//echo "ERROR: $errno - $errstr\n";
return "error";
}else{
return "open";
}
}
经过测试效果可以,超时时间的设置可以根据需要设置。