


JavaScript peut-il envoyer un ping à un serveur sans utiliser de bibliothèques externes ?
Dec 01, 2024 pm 07:31 PMJavascript peut-il pinger un serveur ?
Lors de la création d'applications Web, il devient nécessaire de déterminer la disponibilité des serveurs externes. Bien que les scripts côté serveur puissent facilement effectuer cette tâche à l'aide de commandes telles que "ping", les capacités de Javascript dans ce domaine ont été limitées.
Cependant, une méthode ingénieuse a émergé utilisant l'objet Image natif. En chargeant une image à partir du serveur cible, Javascript peut exploiter les mécanismes intégrés de récupération des ressources afin de déterminer la disponibilité du serveur.
Implémentation
L'extrait de code suivant illustre le fonction principale pour exécuter le ping :
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); } }
La fonction crée un objet image et définit les écouteurs pour le "onload" et événements « onerror ». L'image est ensuite chargée à partir du serveur cible et un délai d'attente est défini pour gérer le cas où le serveur ne répond pas. En fonction du résultat, les méthodes "good()" ou "bad()" sont appelées pour indiquer la disponibilité du serveur.
Avantages
Cette technique offre plusieurs avantages :
- Compatibilité multiplateforme : Il fonctionne sur différents types de serveurs et prend en charge ports.
- Impact minimal sur le chargement de la page : En effectuant le ping côté client, le chargement initial de la page n'est pas affecté.
- Simplicité de mise en œuvre : Le code est simple et facile à intégrer applications.
Mises à jour
La solution présentée peut rencontrer des problèmes de compatibilité avec les navigateurs les plus récents. Pour les dernières mises à jour et solutions alternatives, reportez-vous au référentiel GitHub inclus :
[https://github.com/jdfreder/pingjs](https://github.com/jdfreder/pingjs)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

jQuery Vérifiez si la date est valide

jQuery obtient un rembourrage / marge d'élément

Plugins JS de manipulation de 5 premiers

10 vaut la peine de vérifier les plugins jQuery

jQuery Ajouter une barre de défilement à div

10 Ajax / jQuery Tutoriels / plugins assortis
