> 백엔드 개발 > PHP 튜토리얼 > PHP에서 IP 주소 및 포트 번호(IP:port)를 ping하는 방법

PHP에서 IP 주소 및 포트 번호(IP:port)를 ping하는 방법

Susan Sarandon
풀어 주다: 2024-10-18 12:09:43
원래의
829명이 탐색했습니다.

How to Ping an IP Address and Port Number (IP:port) in PHP

PHP에서 IP 주소 및 포트 번호를 Ping하는 방법

문제:

개발 중 서버 가용성을 확인하기 위해 IP 주소 및 포트 번호(IP:port)를 핑하는 스크립트.

해결책:

제공된 초기 스크립트는 웹사이트만 핑할 수 있지만 웹사이트는 핑할 수 없습니다. IP:포트. 이 문제를 해결하려면 수정된 버전을 사용할 수 있습니다.

<code class="php">function ping($host, $port, $timeout)
{
    $start = microtime(true);
    $fp = fsockopen($host, $port, $errno, $errstr, $timeout);
    $end = microtime(true);
    return $fp ? round((($end - $start) * 1000), 0) . " ms" : "down";
}

// Example usage
$host = "193.33.186.70";
$port = 80;
$ping = ping($host, $port, 10); // Set a timeout of 10 seconds

if ($ping != "down") {
    echo "Server is up with a ping of $ping";
} else {
    echo "Server is down";
}</code>
로그인 후 복사

이 스크립트는 fsockopen()을 사용하여 지정된 IP 및 포트에 대한 TCP 연결을 설정합니다. 연결하는 데 걸리는 시간을 측정하고 핑 시간을 밀리초 단위로 반환하거나, 연결이 설정되지 않은 경우 "다운"을 반환합니다.

기타 고려 사항:

  • TCP 이외의 프로토콜(예: UDP)의 경우 핑 기능을 구현하려면 추가 노력이 필요합니다.
  • 네트워크 통신에 대한 더 깊은 이해를 위해서는 OSI 모델 및 전송 계층 프로토콜(ICMP 및 TCP)을 탐색해야 합니다.

위 내용은 PHP에서 IP 주소 및 포트 번호(IP:port)를 ping하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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