HTML-клиент получает непрерывный поток выходных данных сервера - PullRequest
0 голосов
/ 05 мая 2011

Какой будет лучший механизм для достижения способности, для пользователей, которые вошли в систему, получать сообщения, сгенерированные сервером.Поскольку у сервера нет способа отправить информацию пользователю, когда у него есть новое сообщение для доставки, браузер пользователя должен опросить с определенным интервалом, чтобы получать в ответ новые сообщения, кроме того, должен быть способ для сервера,не отправлять сообщения, которые уже доставлены пользователю.Вы могли бы установить соединение с помощью чего-то вроде механизма публичного чата, но мне нужна задержка сообщения, максимально приближенная к реальному времени, и возможность одновременной обработки около 100 пользователей, что делает возможным наименьшее количество трафика.Дополнительное примечание: данные нужны только тогда, когда пользователь находится в сети, нет необходимости хранить эти данные на сервере, чтобы другие пользователи могли читать «историю».

На мой взгляд, есть один способ достичь этого - глобальный »окно сообщений ", куда сервер помещает все сообщения, пользовательский браузер постоянно опрашивает сервер, чтобы проверить, равен ли последний полученный идентификатор сообщения идентификатору последнего сообщения в окне сообщения.

Вопрос в том, является ли это правильным способомдля этого или есть другие способы решения таких задач, поскольку потребность в данных в реальном времени можно найти повсюду: сенсорные данные, многопользовательские игры, чат, фондовый рынок и многое другое ...

Ответы [ 3 ]

1 голос
/ 05 мая 2011

Вы смотрели на Комету ?

Comet - это модель веб-приложения в который позволяет длительный HTTP-запрос веб-сервер для передачи данных в браузер, без браузера явно запрашивая это.

Если вы выполняете поиск в стеке, есть много информации о его использовании.

1 голос
/ 05 мая 2011

Разве не продвигает лучшую стратегию? Оставьте открытым tcp-соединение между сервером и браузером и передавайте изменения в браузер при появлении новой информации.

Взгляните на HTML 5 веб-сокетов. (что делает именно это)

вот демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...