Есть ли способ определить, использует ли пользователь широкополосный или коммутируемый доступ? - PullRequest
5 голосов
/ 16 апреля 2009

У нас есть требование от клиента предоставить «облегченную» версию для коммутируемого доступа и все навороты для широкополосного пользователя.

В решении будут использованы Flex / Flash / Java EJB и некоторые jsp.

Есть ли способ для веб-сервера различать два?

Ответы [ 8 ]

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

Вам не важен тип подключения пользователя, вам важна загрузка скорость .

Иметь крошечное флэш-приложение, которое загружает оставшуюся часть флэш-памяти и сколько времени это займет. Или HTML-страницу с указанием времени, необходимого для загрузки Ajax.

Если загрузка многофункционального приложения занимает слишком много времени, перенаправьте изначально загруженную заглушку / флэш-страницу на страницу медленной загрузки (или загрузите простое флэш-приложение или что-то еще).

3 голосов
/ 16 апреля 2009

Нет способа отличить широкополосный или коммутируемый доступ в качестве типа соединения, но вы можете сделать обоснованное предположение по скорости соединения.

Gmail делает это и предоставляет ссылку на базовую HTML-версию своего сервиса, если они его обнаружат.

Gmail Load basic html image
(источник: nirmaltv.com )

Я предполагаю, что на AJAX-запросах выполняется опрос javascript на стороне клиента. Если время выполнения превышает пороговое значение, появляется возможность переключиться на «облегченный».

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

3 голосов
/ 16 апреля 2009

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

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

@ Apphacker (я бы прокомментировал вместо ответа, если у меня достаточно репутации ...):

Также не могу гарантировать обратное - у меня есть коммутируемый доступ к Earthlink, который скоро будет обновлен до Earthlink DSL (это то, что доступно здесь ...).

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

Вот фрагмент кода из кода, который пытался что-то подобное. Он в C #, но он довольно короткий, и это просто интересная концепция.

Определите скорость соединения вашего клиента

Конечно, это может быть временная проблема со скоростью, которая не имеет ничего общего с подключением пользователя во время тестирования и т. Д. И т. Д.

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

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

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

Actionscript 3 имеет библиотеку, которая поможет вам в решении этой задачи, но я считаю, что для этого необходимо развернуть приложение flex / flash на Flash Media Server. Подробнее см. Обнаружение собственной пропускной способности ActionScript 3.0 .

0 голосов
/ 16 апреля 2009

ты мог бы ...

  • спроси пользователя
  • выполнить тест скорости и спросить пользователя, верен ли найденный вами результат
  • выполните тест скорости и надеемся, что найденный результат верен

Я думаю, что теста скорости должно быть достаточно.

Если у вас есть только небольшая известная группа пользователей, иногда можно определить скорость соединения по ip. (Некоторые провайдеры назначают разные подсети для коммутируемых / широкополосных подключений)

0 голосов
/ 16 апреля 2009

Вы можете проверить их IP-адрес и посмотреть, разрешается ли он / назначен поставщику коммутируемого доступа, например AOL, Earthlink, NetZero. Не гарантировало бы, что те, кто не обращается к такому провайдеру, являются пользователями широкополосного доступа.

...