php实现TCP端口检测的方法

时间:2021-12-01 08:26:56

本文实例讲述了php实现TCP端口检测的方法。分享给大家供大家参考。具体如下:

该程序可以确认当前端口是否可用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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();

希望本文所述对大家的php程序设计有所帮助。