web-dev-qa-db-fra.com

Comment obtenir l'état actuel d'une connexion websocket javascript

Parfois, lorsque je redémarre le serveur ou en cas de défaillance du réseau, le Websocket se ferme et je souhaite pouvoir obtenir à tout moment l'état de connexion actuel.

Je reçois essentiellement l'erreur suivante et je veux pouvoir la prédire:

WebSocket is already in CLOSING or CLOSED state. 
    (anonymous function) 
    InjectedScript._evaluateOn 
    InjectedScript._evaluateAndWrap 
    InjectedScript.evaluate
42
Johnride

C'est très simple: la propriété readyState du websocket contient la connexion du websocket à tout moment comme spécifié dans WebSocket API

Ce sera l'une des valeurs suivantes: CONNECTINGOPENCLOSING ou CLOSED

Une façon de contourner l'erreur serait quelque chose comme ceci:

if (yourWsObject.readyState === WebSocket.CLOSED) {
   // Do your stuff...
}
71
Johnride