HTML5のリアルタイムアップデートにサーバーセントイベント(SSE)を使用するには、クライアント側とサーバー側の両方のコンポーネントを設定する必要があります。これが段階的なガイドです:
クライアント側のセットアップ:
Eventsourceの作成:
HTMLファイルでは、サーバー上のURLに接続するEventSource
オブジェクトを作成します。このURLは、イベントを送信するエンドポイントである必要があります。
<code class="html"><script> var source = new EventSource('/events'); </script></code>
イベントを聞く:
message
、 open
、 error
など、さまざまな種類のイベントを聞くことができます。たとえば、着信メッセージを処理するには:
<code class="html"><script> source.onmessage = function(event) { console.log('New message:', event.data); // Handle the event data }; </script></code>
カスタムイベント:
サーバーがカスタムイベントを送信した場合、 addEventListener
を使用してそれらを聞くことができます。
<code class="html"><script> source.addEventListener('customEvent', function(event) { console.log('Custom event:', event.data); }, false); </script></code>
サーバー側のセットアップ:
サーバーのセットアップ:
サーバーは、適切なヘッダーで応答し、データを正しくフォーマットする必要があります。たとえば、Expressを使用したnode.jsで:
<code class="javascript">app.get('/events', function(req, res) { res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive' }); setInterval(function() { res.write('data: ' new Date().toLocaleTimeString() '\n\n'); }, 1000); });</code>
data:
から始めて、データを使用して、2つのNewline文字( \n\n
)で終了する正しい形式で送信する必要があります。これらの手順を使用して、WebアプリケーションにSSEを実装して、クライアントにリアルタイムの更新をプッシュできます。
SSEは、次のようなWebSocketsなどの他のリアルタイムテクノロジーよりもいくつかの利点を提供します。
ただし、SSEは、双方向通信を必要とするアプリケーションには適していない場合があります。これは、WebSocketの重要な利点です。
SSEのエラーと切断の処理は、堅牢なWebアプリケーションを維持するために重要です。ここにいくつかの戦略があります:
エラーイベントを聞く:
error
イベントを聞くことでエラーを処理できます。
<code class="html"><script> source.onerror = function() { console.log('An error occurred while attempting to connect to the server.'); // Handle error, perhaps by attempting to reconnect }; </script></code>
再接続ロジック:
EventSource
オブジェクトは、接続が失われた場合に自動的に再接続しようとしますが、カスタムロジックを追加する場合があります。
<code class="html"><script> var attempt = 0; source.onerror = function() { if (attempt < 3) { setTimeout(function() { source = new EventSource('/events'); attempt ; }, 1000); } else { console.log('Failed to reconnect after several attempts.'); } }; </script></code>
これらの戦略を実装すると、SSEベースのアプリケーションでエラーや切断をより優雅に処理するのに役立ちます。
SSEを実装するときにブラウザの互換性を確保するには、いくつかのステップが含まれます。
EventSource polyfill
などのライブラリは、SSE機能を非サポートブラウザーに拡張するのに役立ちます。これらの手順に従うことにより、さまざまなブラウザやユーザー環境にわたるSSE実装の互換性を最大化できます。
以上がHTML5のリアルタイムアップデートにサーバーセントイベント(SSE)を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。