> 백엔드 개발 > PHP 튜토리얼 > php_php 스킬에 구현된 ping 포트 기능의 예

php_php 스킬에 구현된 ping 포트 기능의 예

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 20:32:06
원래의
921명이 탐색했습니다.

이 기사의 예에서는 PHP에서 구현된 ping 포트 기능을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요.

구체적인 구현 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

/*
 * @author     xujiajay
 * @날짜       2010-10-7
 * @function   可以ping端口的php函数
 *
 */
    error_reporting(E_ERROR);
    header("content-Type: text/html; charset=utf-8");
    set_time_limit(120);
    $host = isset($_POST['url']) ? 찹(str_replace('http://','',$_POST['url'])) : 'www.baidu.com';
    $port = isset($_POST['duankou']) ? 찹($_POST['duankou']) : '80';
    $num  = 10;
    함수 microtime_float()
    {
            list($usec, $sec) = 폭발(" ", 마이크로타임());
            return ((float)$usec (float)$sec);
    }
    함수 getsoft($host,$port)
    {
            $fp = @fsockopen($host,$port,&$errno,&$errstr,3);
            if(!$fp)는 '알 수 없음'을 반환합니다.
            $get = "GET / HTTP/1.1rnHost:".$host."rnConnection: Closernrn";
            @fputs($fp,$get);
            $data = '';
            동안($fp && !feof($fp))
            $data .= fread($fp, 1024);
            @fclose($fp);
            $array = 폭발("n",$data);
            $k = 2;
            for($i = 0;$i < 20;$i )
            {
                    if(stristr($array[$i],'서버')){$k = $i; 휴식;}
            }
            if(!stristr($array[$k],'서버')) return '알 수 없음';
            그렇지 않으면 str_replace('Server','服务器软件',$array[$k]);
를 반환합니다.     }
    함수 ping($host,$port)
    {
            $time_start = microtime_float();
            $ip = gethostbyname($host);
            $fp = @fsockopen($host,$port,&$errno,&$errstr,1);
            if(!$fp) return '요청 시간이 초과되었습니다.'."rn";
            $get = "GET / HTTP/1.1rnHost:".$host."rnConnection: Closernrn";
            @fputs($fp,$get);
            @fclose($fp);
            $time_end = microtime_float();
            $time = $time_end - $time_start;
            $time = ceil($time * 1000);
            return ''.$ip.'에서 답장: time='.$time.'ms';
    }
    if(isset($_POST['url']) && isset($_POST['duankou']))
    {
            echo ''.getsoft($host,$port).'';
            echo ''.$host'를 핑합니다.' ['.gethostbyname($host).'] 포트:'.$port.' 데이터:'."rn";
            ob_flush();
            플러시();
            for($i = 0;$i < $num;$i )
            {
에코 핑($host,$port);
                       ob_flush();
플러시();
수면(1);
            }
}
?>

도메인 이름/IP: 포트:


이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿