WebSockets - Événements et actions

Il est nécessaire d'initialiser la connexion au serveur à partir du client pour la communication entre eux. Pour initialiser la connexion, la création d'un objet Javascript avec l'URL avec le serveur distant ou local est requise.

var socket = new WebSocket(“ ws://echo.websocket.org ”);

L'URL mentionnée ci-dessus est une adresse publique qui peut être utilisée pour des tests et des expériences. Le serveur websocket.org est toujours opérationnel et lorsqu'il reçoit le message et le renvoie au client.

Il s'agit de l'étape la plus importante pour garantir le bon fonctionnement de l'application.

Web Sockets - Événements

Il existe quatre API Web Socket principales events -

  • Open
  • Message
  • Close
  • Error

Chacun des événements est géré en implémentant des fonctions telles que onopen, onmessage, onclose et onerrorfonctions respectivement. Il peut également être implémenté à l'aide de la méthode addEventListener.

Le bref aperçu des événements et des fonctions est décrit comme suit -

Ouvert

Une fois la connexion établie entre le client et le serveur, l'événement open est déclenché à partir de l'instance Web Socket. Il est appelé comme prise de contact initiale entre le client et le serveur. L'événement, qui est déclenché une fois la connexion établie, est appeléonopen.

Message

L'événement de message se produit généralement lorsque le serveur envoie des données. Les messages envoyés par le serveur au client peuvent inclure des messages en texte brut, des données binaires ou des images. Chaque fois que les données sont envoyées, leonmessage la fonction est déclenchée.

Fermer

L'événement Close marque la fin de la communication entre le serveur et le client. La fermeture de la connexion est possible à l'aide deoncloseun événement. Après avoir marqué la fin de la communication avec l'aide deoncloseévénement, aucun message ne peut être transféré entre le serveur et le client. La clôture de l'événement peut également se produire en raison d'une mauvaise connectivité.

Erreur

Marques d'erreur pour une erreur, qui se produit pendant la communication. Il est marqué à l'aide deonerror un événement. Onerrorest toujours suivi de la fin de la connexion. La description détaillée de chaque événement est discutée dans d'autres chapitres.

Web Sockets - Actions

Les événements sont généralement déclenchés lorsque quelque chose se produit. D'autre part, des actions sont entreprises lorsqu'un utilisateur souhaite que quelque chose se passe. Les actions sont effectuées par des appels explicites utilisant des fonctions par les utilisateurs.

Le protocole Web Socket prend en charge deux actions principales, à savoir -

  • envoyer( )
  • Fermer( )

envoyer ( )

Cette action est généralement préférée pour certaines communications avec le serveur, qui incluent l'envoi de messages, qui incluent des fichiers texte, des données binaires ou des images.

Un message de discussion, qui est envoyé à l'aide de l'action send (), se présente comme suit -

// get text view and button for submitting the message
var textsend = document.getElementById(“text-view”);
var submitMsg = document.getElementById(“tsend-button”);

//Handling the click event
submitMsg.onclick = function ( ) {
   // Send the data
   socket.send( textsend.value);
}

Note - L'envoi des messages n'est possible que si la connexion est ouverte.

Fermer ( )

Cette méthode signifie au revoir la poignée de main. Il met complètement fin à la connexion et aucune donnée ne peut être transférée tant que la connexion n'est pas rétablie.

var textsend = document.getElementById(“text-view”);
var buttonStop = document.getElementById(“stop-button”);

//Handling the click event
buttonStop.onclick = function ( ) {
   // Close the connection if open
   if (socket.readyState === WebSocket.OPEN){
      socket.close( );
   }
}

Il est également possible de fermer délibérément la connexion à l'aide de l'extrait de code suivant -

socket.close(1000,”Deliberate Connection”);