У меня в приложении работает такой способ:
var sse = new EventSource('/api/sse.php');
sse.addEventListener('message', function(e) {
// Пришли какие-то данные
});
Каждому пользователю соответствует "висящий" php-скрипт. После остановки php-скрипта sse переподключается.