Каков наилучший способ реализовать веб-сайт, где пользователи могут взаимодействовать друг с другом? - PullRequest
3 голосов
/ 16 апреля 2010

Я создаю веб-сайт, на котором пользователи смогут общаться и отправлять файлы друг другу через браузер. Я использую GWT для пользовательского интерфейса и Hibernate с Gilead для подключения к базе данных MySQL.

Какую стратегию лучше всего использовать, чтобы пользователи могли взаимодействовать друг с другом?

Ответы [ 3 ]

2 голосов
/ 16 апреля 2010

COMET - это технология, которая позволяет общаться через веб-страницу. В основном это общение через поддерживающие связь. Это позволяет серверам передавать информацию клиенту. Есть несколько реализаций этого на стороне клиента с GWT. Большинство серверов в настоящее время поддерживают это, это также часть спецификации Servlet 3.0 (которую еще никто не реализовал)

2 голосов
/ 16 апреля 2010

Я бы сказал, что вы ищете комету / AJAX | Server push / etc. См. мой предыдущий ответ по этому вопросу для некоторых указателей. По сути, вы симулируете инвертирование связи между сервером и клиентом - это сервер , который инициирует здесь соединение, так как он хочет, например, сообщить пользователю, что его / ее друг только что подключился и т. Д.

Реализации этого метода меняются довольно быстро, поэтому я не буду давать никаких конкретных рекомендаций - выберите тот, который лучше всего соответствует вашим потребностям:)

1 голос
/ 16 апреля 2010

Хотя COMET очень хорош, это не единственное решение! Обычный опрос с временными интервалами (в отличие от длинного опроса COMET) все еще широко используется. Также возможно потребовать обновления вручную пользователем.

Возьмите Stackoverflow в качестве примера - для большинства вещей вы должны обновить свой браузер вручную, чтобы увидеть изменения. Я думаю, это обычно воспринимается как нормальное и ожидаемое. COMET или частые опросы являются дополнительным бонусом.

Проблема с COMET заключается в том, что он может легко привести к большому количеству потоков на сервере. Кроме того, если вы дополнительно используете асинхронную обработку (также называемую «Advanced IO»), которая пока не слишком хорошо поддерживается (например, не работает с HTTPS в Glassfish v3 из-за серьезной ошибки), может привести к проблемам с коннекторами Apache и т. Д. .

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

Так что вам придется взвесить варианты для вашей конкретной ситуации.

...