WebSockets & Realtime Systems Programming · Lektion

Clientseitige Ereignisverarbeitung

Verwalten Sie Verbindungsereignisse wie `open`, `message`, `error` und `close` im Browser effektiv.

Lektion 3 von 411 Schritte

Clientseitige Ereignisverarbeitung ist eine kostenlose WebSockets & Realtime Systems Programming-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des WebSockets & Realtime Systems Programming-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der WebSockets & Realtime Systems Programming-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

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!

Kostenlos starten

Lerne WebSockets & Realtime Systems Programming mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
12
Lektionen
47

Häufig gestellte Fragen

Ist die Lektion „Clientseitige Ereignisverarbeitung“ kostenlos?

Ja — der vollständige Text von „Clientseitige Ereignisverarbeitung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des WebSockets & Realtime Systems Programming-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der WebSockets & Realtime Systems Programming-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Clientseitige Ereignisverarbeitung“?

Verwalten Sie Verbindungsereignisse wie `open`, `message`, `error` und `close` im Browser effektiv. Du übst WebSockets & Realtime Systems Programming mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um WebSockets & Realtime Systems Programming zu starten?

Keine Vorkenntnisse erforderlich. WebSockets & Realtime Systems Programming auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Clientseitige Ereignisverarbeitung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser WebSockets & Realtime Systems Programming-Lektion Code schreiben und ausführen?

Ja. Jede WebSockets & Realtime Systems Programming-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen der WebSocket-API im Browser
  2. Daten senden und empfangen
  3. Clientseitige Ereignisverarbeitung
  4. Automatische Wiederverbindung beim Client
← Zurück zu WebSockets & Realtime Systems Programming