Можно ли подделать технологию толчка / комету? - PullRequest
1 голос
/ 01 декабря 2009

Клиент имеет сайт знакомств и хотел бы, чтобы пользователи отображали всплывающее окно (либо приятное наложение JavaScript, либо новое всплывающее окно в браузере.

Я знаком с технологией push и Comet, но реализовать ее довольно сложно, и это может создать серьезную нагрузку на сервер с более чем 100 000 уникальных посетителей в день.

Я задаюсь вопросом, есть ли способ подделать это, возможно, не будучи точным со вторым. Я не могу думать ни о чем.

Это классическая среда LAMP.

Любой

РЕДАКТИРОВАТЬ: как насчет этого: размещение iframe на странице, которая обновляется каждые несколько секунд, и при каждой загрузке страницы проверяет в БД, был ли посетитель зарегистрирован на этой странице профиля. если это так, он показывает сообщение. сообщение будет видимым, но фон iframe будет сливаться с фоном сайта и будет невидимым. если сообщение появляется и исчезает, оно будет выглядеть как «всплывающее» окно JS.

Ответы [ 3 ]

1 голос
/ 03 декабря 2009

Единственный способ «подделать» комету - это какой-то опрос, что всегда возможно. Запрос iframe, xhr или jsonp - это все возможности для выполнения указанного опроса.

Возможно, вам лучше купить предварительно собранный комет-сервер (я, конечно, рекомендую тот, который я помогал построить, WebSync для IIS / ASP.NET ). Если вы беспокоитесь о загрузке, вы можете проверить нашу версию по требованию, где мы разместим ее для вас.

Независимо от этого, WebSync (или любой другой предварительно упакованный продукт, который вы могли бы проверить) мог бы масштабироваться до ста тысяч пользователей в день без особых проблем и потенциально был бы более эффективным, чем опрос, поскольку он воздействовал бы только на вашу базу данных когда приходят новые пользователи, а не каждые пару секунд; Тем не менее, если вы сделаете запрос «проверка новых пользователей» достаточно простым, а задержка в несколько секунд в порядке, идея опроса будет «более простым» решением.

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

Проверьте http://en.wikipedia.org/wiki/Web_Sockets, если вы хотите сделать настоящий толчок. Это пока не поддерживается в браузерах, но есть много библиотек JavaScript и Flash, которые уже предоставляют его.

Или более дешевым способом является запись в вашей БД каждого просмотра страницы. Затем, когда какой-либо пользователь отправляет веб-запрос, проверьте в БД, посещал ли кто-либо его страницу со времени последнего веб-запроса. Если это так, откройте диалоговое окно.

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

Я бы начал с этого второго более простого решения, которое очень легко реализовать. Если ваш клиент хочет сделать его более интерактивным, вы можете предложить решения и компромиссы / затраты для различных вариантов.

0 голосов
/ 01 декабря 2009

Соберите статистику относительно того, сколько посетителей посещает веб-сайт пользователя в день, а затем поделите это, так что есть процентная вероятность того, что пользователю будет сказано, что на его сайте есть пользователь (даже если его на самом деле нет). , основываясь на временных рамках, он находится в той части, где он может получить всплывающее окно. Я думаю, что это самое близкое, что вы получите без какого-либо уведомления.

Вы можете сделать это, чтобы минимизировать использование сервера, если вы хотите push: Когда пользователь посещает веб-сайт, проверьте и посмотрите, находится ли человек, который будет получать уведомление, в сети и способен ли он быть уведомленным, и, если это так, ТОГДА делать все push-сообщения, в противном случае забудьте об этом.

...