php实现TCP端口检测 php实现TCP端口检测的方法

<?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);
    $r = array($sock);
    $w = array($sock);
    $f = array($sock);
    self::$status = socket_select($r,$w,$f, 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();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。