Comment puis-je détecter si le serveur est hors ligne ou si, pour une raison quelconque, il ne peut pas se connecter? Mon code ressemble à ceci. Il ne lance aucune erreur, donc une clause try/catch ne fonctionne pas.Socket.io se connecte au serveur hors ligne
Répondre
utilisation
this.socket.on("connect")
pour attraper les événements de connexionthis.socket.on("disconnect")
pour attraper les événements de déconnexionthis.socket.on("connect_failed")
pour attraper connexion tentatives infructueuses
utilisation this.socket.io.on ("connect_error ", callback) pour attraper si le serveur est hors ligne.
Vous pouvez trouver tous les événements, à https://github.com/LearnBoost/socket.io/wiki/Exposed-events
Si votre serveur est hors-ligne et le client tente de se connecter utilisation:
socket.on('error', function (err) {
console.log(err);
});
Ainsi le client sait qu'il ne peut pas atteindre le serveur.
Après quelques tests, il ne semble pas fonctionner de cette façon dans le dernier client stable Socket.io (v0.9.16) – mikermcneil
Depuis la mise à jour 1.0, les événements de connexion sont différents. lire cette page pour plus d'informations: http://socket.io/docs/migrating-from-0-9/
Dans mon cas, je ne pouvais détecter une erreur de connexion comme ceci:
var manager = io.Manager('http://'+window.location.hostname+':3000', { /* options */ });
manager.socket('/namespace');
manager.on('connect_error', function() {
console.log("Connection error!");
});
this.socket = io.connect('http://'+window.location.hostname+':3000');
- 1. erreurs socket.io lorsque le client se connecte
- 2. client se connecte au serveur C# réseau
- 3. Socket.IO - comment gérer Node.js hors ligne
- 4. Node.js + socket.io exemple: le client se connecte mais socket.send() du client au serveur échoue
- 5. Log4net ne se connecte pas en ligne
- 6. L'API ne se connecte pas au serveur KEP (OPC)
- 7. Le client ne se connecte pas au serveur
- 8. Le client Flash XMLSocket ne se connecte pas au serveur
- 9. Log4net ne se connecte pas parfois au serveur
- 10. Crapaud ne se connecte pas au serveur distant mysql
- 11. Application Android ne se connecte pas au serveur
- 12. Le client ne se connecte pas au serveur via Internet
- 13. NHibernate ne se connecte pas au serveur sql
- 14. SFTP ne se connecte pas au serveur distant
- 15. Le client Silverlight ne se connecte pas au serveur
- 16. localhost ne se connecte pas au serveur mail
- 17. easyphp - phpmyadmin ne se connecte pas au serveur mysql
- 18. L'application UCMA ne se connecte pas au serveur Lync
- 19. mysql5-client se connecte à mysql4 serveur
- 20. RTOS se connecte via TCP au serveur local, mais pas au serveur distant
- 21. UIPickerView ne se connecte pas au DataSource
- 22. TortoiseSVN ne se connecte pas au référentiel
- 23. Crontab ne se connecte pas au fichier
- 24. Apache se connecte au fichier spécifique
- 25. .Net ne se connecte pas au DB
- 26. wxWidgets: Le client se connecte au serveur, mais le serveur ne reconnaît pas
- 27. MySQL avorté se connecte
- 28. QTcpClient se connecte avec succès, mais pas à mon serveur. Où se connecte-t-il?
- 29. Impossible de se connecter au serveur avec socket.io sur le client et le serveur
- 30. Application SIP sur le serveur Red5 autonome ne se connecte pas au serveur Asterisk
Dans le cas où cela aide d'autres personnes à trouver this-- le « connect_failed » et « reconnect_failed » Les événements ne sont pas déclenchés correctement dans les versions 0.9.x de Socket.io (y compris 0.9.16). Plus de détails ici: https://github.com/LearnBoost/socket.io/issues/652 et une solution de contournement ici: https://groups.google.com/forum/#!topic/socket_io/7BynuejEmts – mikermcneil