Консультация № 157067
09.01.2009, 11:52
0.00 руб.
0 6 1
здравствуйте. подскажите, как определить скорость интернета у клиента? javascript, php

Обсуждение

Неизвестный
09.01.2009, 12:03
общий
А что конкретно Вы хотите определить? Сколько МБит/сек? Автоматически Вы этого не определите. Javascript не имеет доступа в такие дебри, как сетевые подключения. PHP на стороне сервера к сетевым подключениям клиента доступа и подавно не имеет. Различные ухищрения, типа дать пользователю, что-нибудь скачать, и засечь время, за которое он это сделает, результата НЕ принесут... Зачем Вам это нужно?
Неизвестный
09.01.2009, 12:42
общий
у меня в окно встроен плейер, в нём звучит песня. нужно, чтоб по окончании песни окно закрывалось. но для тех, у кого интернет медленный, до конца песни не доходит- закрывается. у кого очень быстрый- закрывается с задержкой. вот я и думал, что подкорректировать это можно, узнав скорость интернета. но думаю, что пользователям не составит труда самим закрыть это окно, раз тут такие дебри))
давно
Академик
20764
1861
09.01.2009, 12:43
общий
http://speedtest.net/
Web-сервис. Что использует - не знаю, вероятно, java.
Использовать лучше mozilla или opera - explorer заметно тормозит и занижает результаты, особенно на передачу. Меряется действительно не полная скорость, а только для "своих" данных, так что конкурирующие клиенты на время измерения надо останавливать. Также влияет и антивирус, но это уже реальное снижение скорости.

P.S. для Товарищ Бородин: Реальная скорость - это отношение объёма загруженных/отданных данных ко времени и измеряется она достаточно просто. [offtop]А отношение реальной скорости к заявленой - эта мера порядочности провайдера[/offtop]
Неизвестный
09.01.2009, 15:43
общий
это ответ
Здравствуйте, Denis2008!

Например, JavaScript-ом замерить скорость загрузки страницы, причем страница занимает какой-то объем. В начале загрузки time=0 сек в конце загрузки time=n сек. Разница и будет время, за которое загрузилась страница. Например, делаем так:

1. Пользователь обращается к Вам на сайт (на любую страницу), мы записываем в сессию урл этой страницы и некий идентификатор.
2. Перенаправляем пользователя на страницу, которая грузится клиенту (например, куча невидимых символов), нам заранее известен размер страницы. Измеряется скорость с помощью JavaScript-а по формуле: размер/время и передается постом обратно на url, который в сессии.
3. в зависимости от скорости принимаем какие-то действия.

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

Еще я знаю что как-то замеряют скорость с помощью flash-технологии, но точно не знаю как.

С уважением,
Антон Цепковский
Неизвестный
09.01.2009, 15:47
общий
Денис, попробуйте порыть в таком направлении: раскрутить флешь плейер и понять как получить оттуда конец песни. Если Вы его оттуда получите, то возможно по этому событию закрывать окно.

P.S.: я не много не понял из вопроса что Вы хотели и написал не совсем то что Вам надо.
Неизвестный
09.01.2009, 23:57
общий
Антон, спасибо, Вы меня правильно поняли. у меня не флэш плейер, а медиаплейер обычный, ActiveX. я не знаю как получить продолжительность песни, хотя эта же идея одна из первых пришла мне в голову. ну ладно, это всё мелочи и украшательства, без которых можно и обойтись. но с самозакрытием)) окна было бы более удобно.
Вообще-то вопрос был про скорость интернета... не буду лукавить, это значение мне ещё во многом бы пригодилось.
Форма ответа