Есть довольно сложная задача, но я попытаюсь объяснить ее на простом примере. Предположим, что мы хотим написать чат на PHP+AJAX. С отправкой сообщений все понятно, а вот с приемом не очень. Как уведомить всех участников чата о том что один из них прислал сообщение? Самый простой вариант - это опрашивать сервер по таймеру и если на нем есть новые сообщения, то выводить их на экран. Но такой вариант мне не очень подходит, т.к. периодичность опроса должна быть очень высокая (около 5 раз в секунду), количество участников равняется приблизительно двум тысячам и сервер использует SSL сертификаты, что делает каждый, даже самый маленький запрос весом ~8Кб. Итого получаем 2000*5*8 = 78 Мб/сек трафика в сторону сервера. Может быть есть какой-то более универсальный способ оповещения клиентов?
Я знаю только один способ общения браузера с сервером - это когда браузер посылает запрос, а сервер на него отвечает. На сколько мне известно, "слушать порт" не умеет ни JavaScript, ни ActionScript (Flash), т.е. сделать так, чтобы сервер сам обращался к браузеру - нельзя. Возможно, я не прав. Но мне кажется, что тебе нужно писать свой клиент для этого чата, например, на Си - что-то типа аськи. Либо какой-нибудь плагин для браузеров...
вы знакомы с соц сетью вконтакте ? используете плагины ? =) по ссылке выше мне дали верный ответ как подобное реализуется
Ага, я посмотрел ссылку, спасибо. Но, на сколько я понял - там во всех статьях по ссылке соединение инициирует браузер Другое дело, что соединения бывают разные Но сервер сам по собственной инициативе к браузеру обратиться не может (со словами "Эй, посмотри, у меня есть кое-что для тебя!") С соц.сетями знаком мало, только авторизация и "мне нравится" и только на фейсбуке...