HTML5에서 실시간 업데이트에 SSE (Server-Sent Events)를 사용하려면 클라이언트 측 및 서버 측 구성 요소를 모두 설정해야합니다. 단계별 가이드는 다음과 같습니다.
클라이언트 측 설정 :
이벤트 소스 만들기 :
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:
부터 시작하여 데이터를 시작한 다음 두 개의 Newline 문자 ( \n\n
)로 끝나는 올바른 형식으로 전송되어야합니다.이 단계를 사용하면 웹 응용 프로그램에서 SSE를 구현하여 클라이언트에 실시간 업데이트를 푸시 할 수 있습니다.
SSE는 다음을 포함하여 Websockets와 같은 다른 실시간 기술에 비해 몇 가지 장점을 제공합니다.
그러나 SSE는 양방향 통신이 필요한 응용 프로그램에 적합하지 않을 수 있으며, 이는 WebSockets의 주요 장점입니다.
강력한 웹 응용 프로그램을 유지하는 데 SSE의 오류 및 연결을 처리하는 것이 중요합니다. 몇 가지 전략은 다음과 같습니다.
오류 이벤트 듣기 :
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에서 실시간 업데이트에 SPE (Server Antent Events)를 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!