Backend2025년 8월 27일2분 읽기

Server-Sent Events(SSE) — 실시간 스트리밍의 간편한 선택

YS
YoungSam
조회 1392

SSE란

서버에서 클라이언트로 단방향 실시간 데이터를 보내는 HTTP 기반 프로토콜입니다. LLM 스트리밍에 많이 사용됩니다.

서버 (Express)

app.get("/stream", (req, res) => {
  res.setHeader("Content-Type", "text/event-stream");
  res.setHeader("Cache-Control", "no-cache");
  res.setHeader("Connection", "keep-alive");

  const send = (data: any) => {
    res.write(`data: ${JSON.stringify(data)}\n\n`);
  };

  send({ message: "Connected" });
  const interval = setInterval(() => send({ time: Date.now() }), 1000);
  req.on("close", () => clearInterval(interval));
});

클라이언트

const es = new EventSource("/stream");
es.onmessage = (e) => console.log(JSON.parse(e.data));
SSEStreamingRealtime

댓글 0

아직 댓글이 없습니다.