Nel tuo codice stai chiamando response.end()
, che disconnetterà il flusso di eventi.
Normalmente, vorresti mantenere il flusso di eventi aperto a tempo indeterminato, a meno che tu non abbia un motivo per chiuderlo. Il client si disconnetterà se la scheda del browser viene chiusa, la connessione viene interrotta, ecc.
Inoltre, potresti prendere in considerazione l'utilizzo di un modulo esistente come express-sse:https://www.npmjs .com/package/express-sse Ciò può farti risparmiare un po' di tempo nell'implementazione del protocollo.