Техника, которую вы мне описываете, называется длинным опросом.
По сути, клиент отправляет ajax-запрос на сервер и сидит в ожидании ответа. При некотором событии (вот где SSJS, такой как Node, действительно пригодится), сервер отправляет клиенту новые данные. Получив данные, клиент немедленно отправляет новый запрос и ожидает следующего обновления.
Вот поток:
Загрузка страниц:
__________ _________
| | | |
| Client A | ---> Request for Data ---> | Server |
|__________| |_________|
Тогда что? Захватывающий:
__________ _________
| | | |
| Client A | .......................... | Server |
| waiting | | waiting |
|__________| |_________|
Кто-то еще обновляет контент, который вы хотите видеть в режиме реального времени:
__________
| |
| Client B |
|__________|
|
| Sends update to Server
|___________________.
|
V
__________ _________
| | | |
| client A | ............<------------- | Server |
| waiting | | Reacts |
|__________| |_________|
|
|
V
__________ _________
| | | |
| Client A | ( No open connection) | Server |
| Updates | | Idle... |
|__________| |_________|
|
|
V
___________ _________
| | | |
| Client A | | |
| Reacts to | | Server |
| Update | ---> Request for Data ---> | |
|___________| |_________|
промыть, повторить
Здесь следует помнить, что HTTP1.1 поддерживает постоянное соединение, то есть оно не прекратит работу, если вы этого не захотите. Я бы порекомендовал посмотреть NodeJS на стороне вашего сервера, чтобы вызвать эти события.