SSE

NestJS 🟡 Mid

Definition

Server-Sent Events : protocole HTTP unidirectionnel du serveur vers le client. Plus simple que WebSocket quand le flux est unidirectionnel.

Analogie

Comme une radio : le serveur diffuse et les clients ecoutent, sans possibilite de repondre via le meme canal.

Exemple de code

@Controller('events')
export class EventController {
  @Sse('stream')
  stream(): Observable<MessageEvent> {
    return interval(1000).pipe(
      map(i => ({ data: { count: i } } as MessageEvent)),
    );
  }
}

Cas d'usage

Streamer des mises a jour de progression, logs temps reel ou notifications sans WebSocket.

Anti-pattern

Utiliser WebSocket quand un flux unidirectionnel SSE suffit.
#communication