Gestión de eventos del lado del cliente
Gestione eficazmente en el navegador eventos de conexión como `open`, `message`, `error` y `close`.
Gestión de eventos del lado del cliente es una lección gratuita de WebSockets & Realtime Systems Programming en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de WebSockets & Realtime Systems Programming, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de WebSockets & Realtime Systems Programming incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
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 laterReceiving 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 laterCatching 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 laterConnection 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!
Preguntas frecuentes
¿La lección «Gestión de eventos del lado del cliente» es gratis?
Sí — el texto completo de «Gestión de eventos del lado del cliente» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de WebSockets & Realtime Systems Programming, actualiza a CoddyKit PRO. El curso de WebSockets & Realtime Systems Programming incluye 4 lecciones en total.
¿Qué aprenderé en «Gestión de eventos del lado del cliente»?
Gestione eficazmente en el navegador eventos de conexión como `open`, `message`, `error` y `close`. Practicas WebSockets & Realtime Systems Programming con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar WebSockets & Realtime Systems Programming?
No se requiere experiencia previa. WebSockets & Realtime Systems Programming en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Gestión de eventos del lado del cliente»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de WebSockets & Realtime Systems Programming?
Sí. Cada lección de WebSockets & Realtime Systems Programming incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de la API WebSocket del navegador
- Envío y recepción de datos
- Gestión de eventos del lado del cliente
- Reconexión automática en el cliente