php实现TCP端口检测的方法

  • 2018-06-19 16:11:03
  • 开发
  • 23
  • shevechco

php检测tcp端口是否开放,对于一个运维来说,需要监控网站的TCP端口情况,如果是用php来实现,最好使用socket网络编程来处理,下面是一段网上淘到的代码,记录下后面会用到。

01.
<?php
02.
class Health {
03.
  public static $status;
04.
  public function __construct()
05.
  {
06.
  }
07.
  public function check($ip, $port){
08.
    $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
09.
    socket_set_nonblock($sock);
10.
    socket_connect($sock,$ip, $port);
11.
    socket_set_block($sock);
12.
    self::$status = socket_select($r = array($sock), $w = array($sock), $f = array($sock), 5);
13.
    return(self::$status); 
14.
  }
15.
  public function checklist($lst){
16.
  }
17.
  public function status(){
18.
    switch(self::$status)
19.
    {
20.
      case 2:
21.
        echo "Closed\n";
22.
        break;
23.
      case 1:
24.
        echo "Openning\n";
25.
        break;
26.
      case 0:
27.
        echo "Timeout\n";
28.
        break;
29.
    }  
30.
  }
31.
}
32.
$ip='192.168.2.10';
33.
$port=80;
34.
$health = new Health();
35.
$health->check($ip, $port);
36.
$health->status();


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.sulao.cn/post/490

相关推荐