Я пытаюсь проникнуть в технологию веб-толчков, поэтому я начал оглядываться. Я в основном нашел 2 технологии, то есть Websockets и SSE. После изъятия Websockets из-за отсутствия поддержки perl, я хотел попробовать более собственный SSE-подход.
Теперь, пытаясь заставить SSE работать, это настоящая боль в заднице. Каждая документация имеет противоречивую информацию, и, похоже, нет общего мнения о том, как работает SSE. Некоторые говорят, что вам нужен тег <event-listen src="events.pm">
, другие говорят, что вам нужен только объект EventSource
JS. Даже с объектом EventSource я обнаружил около 4 возможных реализаций, и ни один из них не работает.
Вот что у меня есть. У меня есть events.pm
, который использует mod-perl. Если вы вызываете этот файл, он возвращает data: I haz a websocket
. Это отправляется с типом содержимого application/x-dom-event-stream
.
Файлы HTML и JS были переписаны так часто с различными реализациями, которые я отказался от них. Можете ли вы, ребята, дать мне рабочий пример?
Также: я не понимаю, как вы можете отправлять определенные сообщения клиенту. Отправка предопределенного сообщения кажется прекрасным. Однако, если я представляю ситуацию, когда кто-то отправляет мне сообщение, я не понимаю, как именно эта информация ( "есть новое сообщение для вас" ) передается в тот точный браузер, который нуждается в этой информации. Каждое сообщение, которое я нашел на этом, в лучшем случае расплывчато.
ИЗМЕНИТЬ
В принципе, мне нужен способ сказать: "эй, тебе разрешено получать это уведомление? сначала покажите мне свой идентификатор/сеанс/токен! по каждому подключенному клиенту. Интересно, возможно ли это с SSE.