加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

同时ping多个ip找了最快的ip网的php例子

发布时间:2023-09-09 12:32:06 所属栏目:PHP教程 来源:
导读:本文我们来分享一段可以同时ping多个ip然后对比找出网络最快的ip的php程序,这段程序用来找代理ip可是神器,为了翻墙方便,买了个vpn,转到osx下面官方没有提供合适的客户端,无法选择最快的线路,于是就自己写了个脚本,手
本文我们来分享一段可以同时ping多个ip然后对比找出网络最快的ip的php程序,这段程序用来找代理ip可是神器,为了翻墙方便,买了个vpn,转到osx下面官方没有提供合适的客户端,无法选择最快的线路,于是就自己写了个脚本,手动ping出最快的IP,代码如下:

$servers = array( 
    array('VIP荷兰线路01','nl01.yyuu.me','81.4.105.195','4122或3108'), 
    array('VIP法国线路01','fr01.yyuu.me','176.31.206.242','4122或3108'), 
    array('VIP意大利线路01','it01.yyuu.me','37.247.48.226','4122或3108'), 
    array('VIP新加坡线路01','sg01.yyuu.me','128.199.69.209','4122或3108')  //开源软件:Cuoxin.com 
); 
 
 
//配合pcntl_signal使用 
declare(ticks=1); 
//最大的子进程数量 
$max = count($servers); 
//当前的子进程数量 
$child = 0; 
 
//当子进程退出时,会触发该函数 
function sig_handler($sig) { 
    switch($sig) { 
        case SIGCHLD: 
            //do something 
    } 

 
//注册子进程退出时调用的函数 
pcntl_signal(SIGCHLD, "sig_handler"); 
foreach($servers as $server){ 
    $pid = pcntl_fork(); 
    if($pid){ 
        //echo 'main thread start',PHP_EOL; 
    }else{ 
        exec('ping -c 1 '.$server[2],$result); 
        echo $server[1].' '.$server[2].' '.$result[1],PHP_EOL; 
        exit(); 
    } 
}
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章