>웹 프론트엔드 >JS 튜토리얼 >외부 라이브러리를 사용하지 않고 JavaScript로 서버를 핑할 수 있습니까?

외부 라이브러리를 사용하지 않고 JavaScript로 서버를 핑할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-01 19:31:10142검색

Can JavaScript Ping a Server Without Using External Libraries?

Javascript가 서버에 Ping을 수행할 수 있나요?

웹 애플리케이션을 생성할 때 외부 서버의 가용성을 확인하는 것이 필요합니다. 서버 측 스크립트는 "ping"과 같은 명령을 사용하여 이 작업을 쉽게 수행할 수 있지만 이 영역에서 Javascript의 기능은 제한적이었습니다.

그러나 기본 이미지 개체를 활용하는 독창적인 방법이 등장했습니다. 대상 서버에서 이미지를 로드함으로써 Javascript는 리소스를 가져오는 내장 메커니즘을 활용하여 서버 가용성을 확인할 수 있습니다.

구현

다음 코드 스니펫은 핑 실행을 위한 기본 함수:

function Pinger_ping(ip, callback) {

  if(!this.inUse) {

    this.inUse = true;
    this.callback = callback
    this.ip = ip;

    var _that = this;

    this.img = new Image();

    this.img.onload = function() {_that.good();};
    this.img.onerror = function() {_that.good();};

    this.start = new Date().getTime();
    this.img.src = "http://" + ip;
    this.timer = setTimeout(function() { _that.bad();}, 1500);

  }
}

이 함수는 이미지 개체를 생성하고 핑에 대한 리스너를 설정합니다. "onload" 및 "onerror" 이벤트. 그런 다음 대상 서버에서 이미지가 로드되고 서버가 응답하지 않는 경우를 처리하기 위해 시간 초과가 설정됩니다. 결과에 따라 "good()" 또는 "bad()" 메소드가 호출되어 서버 가용성을 나타냅니다.

이점

이 기술은 다음과 같은 몇 가지 장점을 제공합니다.

  • 교차 플랫폼 호환성: 다양한 서버 유형에서 작동하고 지원합니다. 포트.
  • 최소 페이지 로드 영향: 클라이언트 측 핑을 수행하면 초기 페이지 로드에 영향이 없습니다.
  • 구현의 단순성: 코드는 간단하고 통합하기 쉽습니다.

업데이트

제시된 솔루션은 최신 브라우저와 호환성 문제가 발생할 수 있습니다. 최신 업데이트 및 대체 솔루션을 보려면 포함된 GitHub 저장소를 참조하세요.

[https://github.com/jdfreder/pingjs](https://github.com/jdfreder/pingjs)

위 내용은 외부 라이브러리를 사용하지 않고 JavaScript로 서버를 핑할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.