Как должен функционировать блок оперативного показа новости?
Пишу новостной сайт.
Хочу сделать блок, в котором будет показываться последняя новость, которая была добавлена в бд. Причём, блок должен обновляться сразу или почти сразу после добавления новсти в бд.
Вопрос в том, как отследить обновление бд?
Делать запрос через каждые 30 секунд, например? Или как-то ещё это должно быть реализовано? Например, как-то поддерживается "сеанс" и сервер сам клиенту кидает инфу о том, что в бд добавлена строчка...
Тут как бы тоже ты "типа" сервер делаешь средствами PHP...
Тот же куй в другой руке...только при использовании данной технологии события могут "бегать" в одну сторону, т.е. от сервера к клиенту...
Да, данную задачу решает...НО...цитата:
SSE vs. WS
Периодически встречаю упоминания, чуть ли не с гордостью, что вот мол мы для синхронизации веб-приложения гоняем server-sent events. Подразумевается, что это осознанный выбор, между WebSocket и SSE выбрали SSE. Я пытаюсь составить для себя карту факторов, которые к такому решению приводят. Сам я вижу вот что:
− SSE односторонний, WS двухсторонний
− SSE не поддерживается IE и мобильным IE, даже самыми последними. WS есть уже везде
− WS умеет binary payload, SSE не умеет (в худших традициях — newline-delimeted протокол). Серьезно, вот как JSON выглядит on the wire:
data: {\n
data: "msg": "hello world",\n
data: "id": 12345\n
data: }\n\n
+ SSE умеет сжатие через gzip, WS сжатие в процессе стандартизации
+ В js API у SSE идут встроенными такие вещи, как event id (дедупликация при реконнекте) и event type (subscribe topic). С другой стороны, это делается тривиально
Все упоминания о выборе между WS и SSE, которые я встречал, были примерно такого толка: «да оно нам как-то и не надо, нам SSE достаточно». Это больше не на осознанный выбор похоже, а на какую-то подсознательную боязнь WS — учитывая минусы SSE. Или я проглядел какие-то потенциальные плюсы?
И ещё:
Когда SSE не используется через HTTP / 2 , у него есть ограничение на максимальное количество открытых подключений, что может быть особенно болезненным при открытии нескольких вкладок, поскольку ограничение устанавливается на браузер и имеет очень низкое значение (6). Проблема была помечена как «Не исправить» в Chrome и Firefox . Это ограничение для браузера + домена, что означает, что вы можете открыть 6 подключений SSE на всех вкладках www.example1.comи еще 6 подключений SSE к www.example2.com(на каждый Stackoverflow ). При использовании HTTP / 2 максимальное количество одновременных HTTP-потоков согласовывается между сервером и клиентом (по умолчанию 100).
N, Да я так глубоко пока не шарю.XD Мне кое-какие преимущества из списка ВС пока не понятны.
И, как я понял, вс надо делать на ноде, а я её ещё не изучал. И ещё не скоро займусь.
Собсно, sse у меня просто пуляет число. И вкладок этого сайта будут открывать максимум две. Так что пока достаточно, я думаю.
javedimka, а что вы имеете в виду? "Не сложно" это как, в данном случае? Может я фигню какую-то спросил. Знал бы как лучше - не спрашивал бы. Интересно все мнения узнать.
javedimka, Ты не перестаёшь удивлять...нужно не сложно? Тогда вот держи вместо ajax'а... <meta http-equiv="Refresh" content="30" />
Нафиг вообще и ajax тогда?
Цель достигнута...страница обновляться будет...
P.S.: Сделать хорошо и "не сложно" совсем разные вещи...
Если учесть, что у него там журналисты за новости "борются", то разбег в 30 секунд кому-то премии может стоить...но это так - утрирую...смысл понятен...