Реализация веб-сервера Comet - PullRequest
       18

Реализация веб-сервера Comet

0 голосов
/ 29 сентября 2011

Я недавно задал один вопрос: - Работа с веб-сервером с несколькими клиентами

Я прошел основные приемы реализации сервера комет, такие как streamhub, Maven / Jetty и т. Д. У меня есть следующиевопросы для этого:

  1. После этого я обнаружил проблемы, как в случае Maven / Jetty требуется интернет-соединение для загрузки определенных файлов из сети. Так что это возможно реализовать, если нет интернетаесть ли соединение на машине, где размещен веб-сервер?

  2. Также я хочу, чтобы инструменты / технологии с открытым исходным кодом достигли цели, упомянутой в предыдущем вопросе.и я думаю, что Stream Hub не является бесплатной версией с открытым исходным кодом.Пожалуйста, помогите, если вы знаете какой-либо инструмент, который можно использовать бесплатно / с открытым исходным кодом.

  3. В настоящее время веб-приложение работает на веб-сервере apache.так что, если я использую комет-сервер, какие изменения мне нужно сделать в этом ??

Пожалуйста, помогите ... Заранее спасибо ...

1 Ответ

1 голос
/ 29 сентября 2011

Для кометы выберите сервер, который может обрабатывать много открытых соединений.Для приложения чата, которое я реализовал и которое в настоящее время обрабатывает 10 000 открытых соединений, я использовал Mochiweb.Возможно, вы захотите взглянуть на это.

По пути Mochiweb я также порекомендую Erlang для реализации вашего сервера.Это будет маленький кусочек кода.По сути, вы будете прослушивать путь и держать соединение открытым, пока у вас не будет данных для ответа или тайм-аута.

На стороне клиента вы бы написали простую функцию JS, которая будет выполнять вызов AJAX и обрабатыватьвремя ожидания ответа и данные ответов, как и когда они приходят.Ничего особенного здесь нет.Однако вместо этого вам может понадобиться JSONP (междоменный / поддомен из-за разных серверов для веб-поиска и длинного опроса), поэтому убедитесь, что ваш сервер LongPoll отвечает соответствующим образом.

...