クライアント側のイベント処理
ブラウザーで`open`、`message`、`error`、`close`などの接続イベントを効果的に管理します。
「クライアント側のイベント処理」はCoddyKit上の無料WebSockets & Realtime Systems Programmingレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはWebSockets & Realtime Systems Programming学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 WebSockets & Realtime Systems Programmingコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
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!
よくある質問
「クライアント側のイベント処理」レッスンは無料ですか?
はい。「クライアント側のイベント処理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、WebSockets & Realtime Systems Programmingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 WebSockets & Realtime Systems Programmingコースには全4レッスンが含まれています。
「クライアント側のイベント処理」で何を学びますか?
ブラウザーで`open`、`message`、`error`、`close`などの接続イベントを効果的に管理します。 ブラウザで直接実行するハンズオンコードでWebSockets & Realtime Systems Programmingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
WebSockets & Realtime Systems Programmingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのWebSockets & Realtime Systems Programmingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「クライアント側のイベント処理」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このWebSockets & Realtime Systems Programmingレッスンでコードを書いて実行できますか?
はい。すべてのWebSockets & Realtime Systems Programmingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ブラウザーWebSocket APIの基礎
- データの送受信
- クライアント側のイベント処理
- クライアントでの自動再接続