0Pricing
WebSockets & Realtime Systems Programming · Leçon

Gestion des événements côté client

Gérez efficacement dans le navigateur les événements de connexion comme `open`, `message`, `error` et `close`.

Gestion des événements côté client est une leçon WebSockets & Realtime Systems Programming gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage WebSockets & Realtime Systems Programming, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours WebSockets & Realtime Systems Programming comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Intro: Why Events Matter

WebSockets are dynamic! Unlike simple HTTP requests, a WebSocket connection stays open. This means you need a way to know when things happen on that connection.

That's where event handling comes in. It allows your browser application to react to the connection opening, messages arriving, errors, or the connection closing.

Connection Established: `onopen`

The first important event is open. This fires as soon as your WebSocket connection has been successfully established and is ready to send and receive data.

It's your green light to start communicating!

Handling Connection Open

Let's see how to handle the open event. When the connection is ready, a message is logged, and then we send a 'Hello' message.

const ws = new WebSocket('wss://echo.websocket.events');

ws.onopen = (event) => {
  console.log('Connection established!');
  ws.send('Hello WebSocket Server!');
};

// Other event handlers will be added later

Receiving Data: `onmessage`

Once connected, your server will send data. The message event is triggered every time your client receives data from the server.

The received data is in event.data. This can be text or binary data, which you might need to parse (e.g., JSON).

Processing Incoming Messages

Now, let's add an event listener for incoming messages. We'll log the data we receive back from the server.

const ws = new WebSocket('wss://echo.websocket.events');

ws.onopen = (event) => {
  console.log('Connection established!');
  ws.send('Hello WebSocket Server!');
};

ws.onmessage = (event) => {
  console.log(`Server says: ${event.data}`);
};

// Other event handlers will be added later

Catching Errors: `onerror`

Things can go wrong! Network issues, server problems, or invalid protocols can trigger the error event. This event signals a problem but doesn't always provide specific error details directly.

Always include an error handler for robust applications.

Handling Connection Errors

Here's how to set up an onerror handler. This will catch general errors during the WebSocket connection's lifetime.

const ws = new WebSocket('wss://echo.websocket.events');

ws.onopen = (event) => {
  console.log('Connection established!');
  ws.send('Hello WebSocket Server!');
};

ws.onmessage = (event) => {
  console.log(`Server says: ${event.data}`);
};

ws.onerror = (error) => {
  console.error('WebSocket encountered an error!');
  // More specific error details might be in the browser console
};

// Other event handlers will be added later

Connection Closed: `onclose`

When a WebSocket connection is deliberately closed by either the client or the server, the close event fires. It provides a code and a reason in the event object.

These details help you understand why the connection ended, which is crucial for debugging or attempting reconnections.

Responding to Connection Close

Let's add the onclose handler. It logs the closure code and reason, which are useful for understanding the connection's end.

const ws = new WebSocket('wss://echo.websocket.events');

ws.onopen = (event) => {
  console.log('Connection established!');
  ws.send('Hello WebSocket Server!');
};

ws.onmessage = (event) => {
  console.log(`Server says: ${event.data}`);
};

ws.onerror = (error) => {
  console.error('WebSocket encountered an error!');
};

ws.onclose = (event) => {
  console.log(`Connection closed! Code: ${event.code}, Reason: ${event.reason || 'No reason provided'}`);
  // Common codes: 1000 (normal), 1001 (going away), 1006 (abnormal closure)
};

Event Handling Check

You've learned about the main WebSocket events. Now, let's test your understanding!

Recap: Mastering WebSocket Events

Great job! You've explored the essential client-side WebSocket events:

  • onopen: Fired when the connection is ready.
  • onmessage: Handles incoming data from the server.
  • onerror: Catches connection-related issues.
  • onclose: Indicates the connection has terminated, providing a code and reason.

Understanding these events is key to building robust and interactive realtime applications!

Questions Fréquemment Posées

La leçon « Gestion des événements côté client » est-elle gratuite ?

Oui — le texte complet de « Gestion des événements côté client » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours WebSockets & Realtime Systems Programming, passe à CoddyKit PRO. Le cours WebSockets & Realtime Systems Programming comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Gestion des événements côté client » ?

Gérez efficacement dans le navigateur les événements de connexion comme `open`, `message`, `error` et `close`. Tu pratiques WebSockets & Realtime Systems Programming avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer WebSockets & Realtime Systems Programming ?

Aucune expérience préalable n'est requise. WebSockets & Realtime Systems Programming sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Gestion des événements côté client » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon WebSockets & Realtime Systems Programming ?

Oui. Chaque leçon WebSockets & Realtime Systems Programming inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Fondamentaux de l’API WebSocket du navigateur
  2. Envoyer et recevoir des données
  3. Gestion des événements côté client
  4. Reconnexion automatique côté client
← Retour à WebSockets & Realtime Systems Programming