本文实例讲述了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 |
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(); |