Есть ли способ определить, использует ли пользователь широкополосный доступ или коммутируемый доступ?

StackOverflow https://stackoverflow.com/questions/753750

  •  09-09-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

вы могли бы ...

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top