php實(shí)現(xiàn)TCP端口檢測的方法

字號:


    本文實(shí)例講述了php實(shí)現(xiàn)TCP端口檢測的方法。分享給大家供大家參考。具體如下:
    該程序可以確認(rèn)當(dāng)前端口是否可用:
    <?php
    class Health {
    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 "Closed\n";
    break;
    case 1:
    echo "Openning\n";
    break;
    case 0:
    echo "Timeout\n";
    break;
    }
    }
    }
    $ip='192.168.2.10';
    $port=80;
    $health = new Health();
    $health->check($ip, $port);
    $health->status();