一条大河

php 通过 socket 检测 ip 端口是否可用

php 通过 socket 实现一个 ping 的逻辑,可用于检测 ip 端口,上代码 ~

function ping($ip, $port)    
{
  $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  socket_set_nonblock($socket);
  socket_connect($socket,$ip, $port);
  socket_set_block($socket);

  $read = array($socket);
  $write = array($socket);
  $except = array($socket);
  // 设置超时,这里是关键,不是设置超时的话,程序会被阻塞
  // https://www.php.net/manual/zh/function.socket-select.php
  $status = socket_select($read, $write, $except, 1);

  return $status;
}

Just so so ~

发表评论

◎发表您的看法、交流您的观点,保持友善言论。

搜索
近期留言
近期发表
站点标签
©
 iddahe.com / PHP函数速查 / 服务器资源 / 代理IP资源 / 海内外高防CDN / 咨询及反馈 / 需求定制 / 使用协议
一条大河(一会儿是风,一会儿是水) Z-BlogPHP 驱动 / Theme: Hipaper / RSS / Sitemap / Google