php实现TCP端口检测的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了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);
    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程序设计有所帮助。

相关文章

PHP使用函数静态变量实现指定迭代次数的方法

本文实例讲述了PHP使用函数静态变量实现指定迭代次数的方法。分享给大家供大家参考,具体如下: 在PHP中,除了类的静态成员属性外,在函数中同样可以利用 static 定义静态变量。从而便...

php事务处理实例详解

一、php事务处理概述: 事务:是若干事件的集合 事务处理:当所有事件执行成功,事务才执行;若有任何一个事件不能成功执行,事务的其它事件也不被执行。 只要你的MySQL版本支持BDB或I...

学习php笔记 字符串处理

substr(); substr(str,start,length); 例:substr('php is very good language',4,5); 输出为 is ve; 当st...

Redis构建分布式锁

Redis构建分布式锁

1、前言 为什么要构建锁呢?因为构建合适的锁可以在高并发下能够保持数据的一致性,即客户端在执行连贯的命令时上锁的数据不会被别的客户端的更改而发生错误。同时还能够保证命令执行的成功率。 看...

PHP删除二维数组中相同元素及数组重复值的方法示例

本文实例讲述了PHP删除二维数组中相同元素及数组重复值的方法。分享给大家供大家参考,具体如下: function assoc_title($arr, $key) { $tmp_a...