Прежде всего, опрос - это путь.Вы можете сделать это с помощью Flash, Silverlight или Comet - http://en.wikipedia.org/wiki/Comet_(programming), которые могут держать TCP-соединение открытым для уведомлений. Веб-страница сама по себе не может держать сокет открытым, поэтому нет способа напрямую уведомить веб-клиента.Сколько клиентов может одновременно хранить TCP-соединение с одним сервером?Для более крупной системы вам достаточно быстро исчерпают доступные сокеты, поскольку доступно 65 тыс. Портов. Сколько одновременных соединений может обрабатывать ваш сервер, зависит от ваших аппаратных ресурсов.Если у вас достаточно памяти и процессора, вы сможете обрабатывать ~ 100 Кб, а может и больше.Но если каждый запрос обращается к базе данных или другому ресурсу через tcp / ip, вы можете ограничиться количеством доступных портов на ip (65 КБ).Также необходимо, чтобы push-запросы шли к отдельному домену, поскольку браузер обычно ограничивает два одновременных подключения на домен, чтобы не мешать нормальной загрузке страницы.
Использование опроса в сочетании с серверами кешавпереди хорошее решение.На сервере может быть логика, которая обновляет кэш для каждого клиента, снижая нагрузку для каждого опроса.Вы можете обновить кэш для пользователей, которые выполнили вход / опрос в течение X минут, чтобы еще больше сократить обновление кеша.И для меня реализация тянуть проще, чем тянуть, мудро с технологией.