phpでTcpポートが利用できるかどうかをチェックする
PHPコード
class TcpPortCheck {
public static $status;
public function __construct()
{
}
public function check($ip, $port){
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($sock);
socket_connect($sock,$ip, $port);
socket_set_block($sock);
self::$status = socket_select($r = array($sock), $w = array($sock), $f = array($sock), 5);
return(self::$status);
}
public function checklist($lst){
}
public function status(){
switch(self::$status)
{
case 2:
echo “ポートが閉まっている\n";
break;
case 1:
echo “ポートを利用できる\n";
break;
case 0:
echo “タイムアウト\n";
break;
}
}
}
$ip=’172.17.10.101′;
$port=80;
$tcpPort = new TcpPortCheck();
$tcpPort->check($ip, $port);
$tcpPort->status();