|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] скрипт определения скорости соеденения интернета |
|
Любой язык - [решено] скрипт определения скорости соеденения интернета
|
Пользователь Сообщения: 52 |
Профиль | Отправить PM | Цитировать вообщем задача такая: нужен скрипт который сможет узнать ип впн соеденения скорость на текущий момент и количество исходящего трафика.
|
|
Отправлено: 15:31, 03-12-2011 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Ага, понятно, я немного не то решение подсказал. Тогда для определения IP и правда, лучше воспользоваться ipconfig, как подсказал товарищ Diskretor, а вот скорость и количество трафика - подсчитывается вот так
@Echo Off SetLocal EnableDelayedExpansion :: Добавляем директорию с бинарниками в path Echo %Path%|Find "%CD%\bin">nul||Set Path=%Path%;%CD%\bin :: Устанавливаем интервал обновления, в секундах Set Refresh=5 :: Получаем IP (первый, из подходящей сети) For /F "tokens=2 delims=:" %%I In ('IPConfig /All^|Find " 10.22"') Do (Set IP=%%~I&GoTo NetStatLoop) Set OldIn=0&Set OldOut=0 :NetStatLoop For /F "tokens=2,3 skip=3" %%A In ('netstat -e') Do ( Set In=%%A Set Out=%%B GoTo Break ) :Break :: Получаем статистику скачанного и переданного For /F "tokens=1" %%A In ('gnucalc %In%/1024/1024') Do ( :: Урезаем дробную часть For /F "tokens=1,2 delims=." %%B In ("%%A") Do ( Set tmpString=%%C Set tmpString=!tmpString:~,2! Set TotalDownloadMB=%%B.!tmpString! ) ) For /F "tokens=1" %%A In ('gnucalc %Out%/1024/1024') Do ( :: Урезаем дробную часть For /F "tokens=1,2 delims=." %%B In ("%%A") Do ( Set tmpString=%%C Set tmpString=!tmpString:~,2! Set TotalUploadMB=%%B.!tmpString! ) ) :: Рассчитываем скорость For /F "tokens=1" %%A In ('gnucalc ^(%In%/1024-%OldIn%/1024^)/%Refresh%') Do ( :: Урезаем дробную часть For /F "tokens=1,2 delims=." %%B In ("%%A") Do ( Set tmpString=%%C Set tmpString=!tmpString:~,2! Set DownloadSpeed=%%B.!tmpString! ) ) For /F "tokens=1" %%A In ('gnucalc ^(%Out%/1024-%OldOut%/1024^)/%Refresh%') Do ( :: Урезаем дробную часть For /F "tokens=1,2 delims=." %%B In ("%%A") Do ( Set tmpString=%%C Set tmpString=!tmpString:~,2! Set UploadSpeed=%%B.!tmpString! ) ) Set OldIn=%In%&Set OldOut=%Out% Cls :: Выводим статистику Echo IP : %IP% Echo. Echo Total download : %TotalDownloadMB% MB Echo Total upload : %TotalUploadMB% MB Echo. Echo Download speed : %DownloadSpeed% Kb\s Echo Upload speed : %UploadSpeed% Kb\s Ping -n %Refresh% 127.0.0.1>nul GoTo NetStatLoop Таймаут между обновлениями выполнен на ping, чтобы не тянуть сторонние утилиты вроде nircmd |
Последний раз редактировалось Anonymоus, 28-12-2011 в 03:03. Отправлено: 02:57, 28-12-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать то что нужно. скажите а есть какая нить команда для перехода батником по урлу без вывода страницы?
да ребят спасибо огромное выручили) и подкинули знаний) |
Отправлено: 03:09, 28-12-2011 | #12 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Цитата moobi:
Открывается в браузере по умолчанию. |
|
Отправлено: 03:11, 28-12-2011 | #13 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Цитата Anonymоus:
p.s вот код @Echo Off Rem Устанавливает промежуток между запросами, в минутах Set Timeout=10 Rem Устанавливаем количество запросов, после которого скрипт прекратит работу Rem Если установить в 0, скрипт будет работать до закрытия его окна вручную Set Counter=0 Color 70 Echo. Echo. Echo Enter URL: Echo. Set /P Url=^> Set /A i=0 Set /A Wait=Timeout*10*10 :GetUrl Cls .\bin\wget --retry-connrefused --random-wait -nd -P tmp -U "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.63" --keep-session-cookies -p %Url% Echo. Echo Страница была запрошена: %i% раз .\bin\nircmdc wait %Wait% Set /A i=i+1 If %i%==%Counter% Cls&Echo.&Echo Работа скрипта завершена&Pause&Exit GoTo GetUrl |
|
Отправлено: 03:16, 28-12-2011 | #14 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Покажи пример запроса, как он должен выглядеть? Я так понимаю, http://site.com/script.pl?task=somet...UF4bvuiGHDBj1S - что-то вроде этого?
UPD: Финальный, подправленный вариант скрипта - улучшен разбор значений скорости, добавлен подсчет среднего значения скорости, убран лишний пробел в IP. Добавлен запрос через wget, естественно, вместо реального url'a - пример. @Echo Off :: Anonymous, 2011 Color 1F Mode CON Cols=35 Lines=9 Title LanStat SetLocal EnableDelayedExpansion :: Добавляем директорию с бинарниками в path Echo %Path%|Find "%CD%\bin">nul||Set Path=%Path%;%CD%\bin :: Интервал обновления статистики, в секундах Set Refresh=1 :: Маска IP адреса (например, 192.168) Set IPMask=10.54 :: Получаем IP (только один раз, при запуске) IPConfig /All|Find " %IPMask%"|Find "IP">nul If %ErrorLevel%==0 ( For /F "tokens=2 delims=:" %%A In ('IPConfig /All^|Find " %IPMask%"^|Find "IP"') Do (Set IP=%%A) If "!IP:~,1!"==" " Set IP=!IP:~1! ) Else ( Set IP=NOT FOUND ) :NetStatLoop :Break1 For /F "tokens=2,3 skip=3" %%A In ('netstat -e') Do ( Set In=%%A Set Out=%%B GoTo Break2 ) :Break2 Echo %IP%|Find "%IPMask%">nul||Set IP=OFFLINE :: Получаем статистику скачанного и переданного For /F "tokens=1" %%A In ('gnucalc %In%/1024/1024') Do ( Call :Cut "%%A" "TotalDownloadMB" ) For /F "tokens=1" %%A In ('gnucalc %Out%/1024/1024') Do ( Call :Cut "%%A" "TotalUploadMB" ) :: Рассчитываем скорость For /F "tokens=1" %%A In ('gnucalc ^(%In%/1024-%OldIn%/1024^)/%Refresh%') Do ( Call :Cut "%%A" "DownloadSpeed" ) If %DownloadSpeed%==0.11 Set DownloadSpeed=0.0 For /F "tokens=1" %%A In ('gnucalc ^(%Out%/1024-%OldOut%/1024^)/%Refresh%') Do ( Call :Cut "%%A" "UploadSpeed" ) If %UploadSpeed%==0.11 Set UploadSpeed=0.0 :: Рассчитываем среднюю скорость Set AverageDownSpeed=!DownloadSpeed!:%AverageDownSpeed% For /F "tokens=1,2,3,4,5,6,7,8,9,10 delims=:" %%A In ("%AverageDownSpeed%") Do ( For /F "tokens=1" %%L In ('gnucalc ^(%%A+%%B+%%C+%%D+%%E+%%F+%%G+%%H+%%I+%%J^)/10 2^>nul') Do ( Call :Cut "%%L" "AvgDownload" ) Set AverageDownSpeed=%%A:%%B:%%C:%%D:%%E:%%F:%%G:%%H:%%I:%%J If "!AvgDownload!"=="" Set AvgDownload=Calculating... If Not !AvgDownload!==Calculating... Set AvgDownload=!AvgDownload! Kb\s ) Set AverageUpSpeed=!UploadSpeed!:%AverageUpSpeed% For /F "tokens=1,2,3,4,5,6,7,8,9,10 delims=:" %%A In ("%AverageUpSpeed%") Do ( For /F "tokens=1" %%L In ('gnucalc ^(%%A+%%B+%%C+%%D+%%E+%%F+%%G+%%H+%%I+%%J^)/10 2^>nul') Do ( Call :Cut "%%L" "AvgUpload" ) Set AverageUpSpeed=%%A:%%B:%%C:%%D:%%E:%%F:%%G:%%H:%%I:%%J If "!AvgUpload!"=="" Set AvgUpload=Calculating... If Not !AvgUpload!==Calculating... Set AvgUpload=!AvgUpload! Kb\s ) Set OldIn=%In%&Set OldOut=%Out% Cls :: Выводим статистику Echo IP : %IP% Echo Total download : %TotalDownloadMB% Mb Echo Total upload : %TotalUploadMB% Mb Echo. Echo Download speed : %DownloadSpeed% Kb\s Echo Upload speed : %UploadSpeed% Kb\s Echo Average download : %AvgDownload% Echo Average upload : %AvgUpload% :: Отсылаем данные :: wget --retry-connrefused -O post.txt --keep-session-cookies -U "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2" "http://site.ru/&ip=%IP%&speed=%UploadSpeed%¶m=value" 2>nul&Del post.txt :Задержка между циклами Ping -n %Refresh% 127.0.0.1>nul GoTo NetStatLoop :Cut :: Урезаем дробную часть For /F "tokens=1,2 delims=." %%A In ("%~1") Do ( Set tmpA=%%A If "!tmpA:~,1!"=="~" Set tmpA=!tmpA:~1! If "!tmpA:~,1!"=="-" Set tmpA=!tmpA:~1! Set tmpB=%%B If "!tmpB:~,1!"=="~" Set tmpB=!tmpB:~1! If "!tmpB:~,1!"=="-" Set tmpB=!tmpB:~1! If "!tmpB!"=="" Set tmpB=0 Set tmpB=!tmpB:~,2! Set %~2=!tmpA!.!tmpB! ) Exit /B |
Последний раз редактировалось Anonymоus, 18-10-2013 в 11:12. Отправлено: 03:22, 28-12-2011 | #15 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать как же долго искал, то что нужно.
Anonymоus можете подсказать, как правильно добавить netsh interface set interface local disabled netsh interface set interface local enabled чтобы при скорости меньше 50 кбит сек сеть перезапускалась, а мониторинг продолжается. |
Отправлено: 05:07, 29-12-2011 | #16 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Obsidian-step, я так понял, вам нужно замерять не текущую скорость соединения, как это сделано в посте #15, а приблизительную максимальную в один поток, так ведь? Иначе, при простое, когда соединение будет нагружено меньше 50кб\с, оно будет постоянно перезапускаться.
Вот, написал кое-что. Для работы требует wget, все тот же calc.exe из набора утилит gnuwin32 (переименованый в gnucalc.exe) и nircmd. Все должно лежать в директории bin рядом со скриптом. Скачать требуемые файлы с RGhost Требования к файлу для проверки скорости: должен располагаться на быстром сервере (чтобы измерение не упиралось в максимальную скорость отдачи на 1 поток самого сервера), должен быть размером не менее 1 мб (а желательно - от 2 до 10) для обеспечения приемлемой точности. @Echo Off :: Добавляем директорию с бинарниками в path Echo %Path%|Find "%CD%\bin">nul||Set Path=%Path%;%CD%\bin :: Период обновления, в минутах Set Refresh=2 :: Устанавливаем файл для проверки (2-10 мб, на быстром хосте) Set SpeedTestFile=http://support.satgate.net/dl_test/dl/5MB.bin :: Нижний порог скорости, при опускании ниже этого предела - реконнект сети. (В кб\с) Set MinSpeed=50 Call :ParseTimestamp %time:~-0,8% Call :SerializeTime Set StartedAt=%ErrorLevel% Set Timestamp=%date% %time:~-0,8% Set /A Refresh=Refresh*60*1000 :Loop :: Замеряем время Call :ParseTimestamp %time:~-0,8% Call :SerializeTime Set StartDL=%ErrorLevel% :: Получаем файл wget %SpeedTestFile% -O "%Temp%\speedtest.dat" 1>&2 2>nul||(Call :Reconnect&GoTo Loop) :: Получаем его размер (получение размера напрямую, через переменную - не работает) For /F "tokens=*" %%A In ('Dir "%Temp%\speedtest.dat" /A-D^|Find "speedtest.dat"') Do ( For /F "tokens=3" %%S In ("%%A") Do (Set TestFileSize=%%S) rem Del %Temp%\speedtest.dat ) :: Вырезаем псевдопробелы Set TestFileSize=%TestFileSize:я=% :: Получаем затраченное на скачивание время Call :Timer %StartDL% Set DLTime=%ErrorLevel% :: Рассчитываем скорость SetLocal EnableDelayedExpansion For /F "tokens=*" %%A In ('gnucalc ^(%TestFileSize%/1024^)/%DLTime%') Do ( For /F "tokens=1,2 delims=." %%A In ("%%A") Do ( Set tmpA=%%A If "!tmpA:~,1!"=="~" Set tmpA=!tmpA:~1! If "!tmpA:~,1!"=="-" Set tmpA=!tmpA:~1! Set tmpB=%%B If "!tmpB:~,1!"=="~" Set tmpB=!tmpB:~1! If "!tmpB:~,1!"=="-" Set tmpB=!tmpB:~1! If "!tmpB!"=="" Set tmpB=0 Set tmpB=!tmpB:~,2! Set DisplayedSpeedKBs=!tmpA!.!tmpB! If !tmpB! GEQ 50 Set /A tmpA+=1 Set SpeedKBs=!tmpA! ) ) :: Проверяем, не слишком ли низкая скорость If %SpeedKBs% LSS %MinSpeed% (Call :Reconnect&GoTo Loop) :: Выводим состояние Call :Timer %StartedAt% Call :DeserializeTime %ErrorLevel% Cls Title Download speeed: %DisplayedSpeedKBs% Kb\s Echo Started at : %Timestamp% Echo Elapsed time : %ED% days, %DHH%:%DMM%:%DSS% Echo Connection speed : %DisplayedSpeedKBs% Kb\s NircmdC wait %Refresh% GoTo Loop :: Перезапуск сети :Reconnect netsh interface set interface local disabled netsh interface set interface local enabled Exit /B ::===Функции работы со временем в .bat==================================== :: libTime.cmd, Anonymous, 2010 :ParseTimestamp :: Разбирает на составляющие временную метку формата ЧЧ:ММ:СС :: Формат: Call :ParseTimestamp (время) :: Вывод - в переменные HH MM и SS For /F "tokens=1,2,3 delims=:" %%A In ("%1") Do ( Set HH=%%A Set MM=%%B Set SS=%%C ) :SerializeTime :: Сериализует время из переменных HH MM и SS :: Вывод - в ErrorLevel Set /A STime=(HH*60*60)+(MM*60)+SS Exit /B %STime% :DeserializeTime :: Десериализует время, приводит его к стандартному формату :: Формат: Call :DeserializeTime (сериализованное время) :: Вывод - в переменные DHH DMM и DSS Set /A DHH=%1/60/60 Set /A DMM=(%1/60)-(DHH*60) Set /A DSS=%1-(DHH*60*60)-(DMM*60) If %DHH%==24 Set DHH=00 If %DHH% LSS 10 Set DHH=0%DHH% If %DMM% LSS 10 Set DMM=0%DMM% If %DSS% LSS 10 Set DSS=0%DSS% Exit /B :TMinus :: Функция вычитания для сериализованного времени :: Формат: Call :TMinus (сериализованное время) (сколько секунд отнять) :: Вывод - в ErrorLevel Set /A Result=%1-%2 If %2 GTR %1 ( Set /A Result=86400+%1-%2 ) Exit /B %Result% :TPlus :: Функция прибавления для сериализованного времени :: Формат: Call :TPlus (сериализованное время) (сколько секунд прибавить) :: Вывод - в ErrorLevel Set /A Result=%1+%2 If %Result% GTR 86400 ( Set /A Result=%1+%2-86400 ) Exit /B %Result% :Timer :: Отсчитывает прошедшее с заданного момента время :: Формат: Call :Timer (запомненное сериализованное время) :: Вывод - в ErrorLevel :: Если счетчик переходит границу суток, число дней возрастает на 1 :: Дни выводятся в переменную ED (и накапливаются) // да, знаю, что костыль и быдлокод Set OTime=%1 If "%ED%"=="" Set ED=0 Call :ParseTimestamp %time:~-0,8% Call :SerializeTime Set CTime=%ErrorLevel% If %OTime% GTR %CTime% ( Set /A Timer=86400-%OTime%+%CTime% Set /A ED+=1 ) Else ( Set /A Timer=CTime-OTime ) Exit /B %Timer% :Timer2 :: Проверяет, прошел ли заданный промежуток времени :: Формат: Call :Timer2 (запомненное сериализованное время) (промежуток в секундах) :: Вывод - в ErrorLevel (только 0=промежуток истёк или 1=промежуток ещё не истёк) Call :ParseTimestamp %time:~-0,8% Call :SerializeTime Call :TMinus %ErrorLevel% %1 If %2 GTR %ErrorLevel% Exit /B 1 Exit /B 0 ::======================================================================== |
Отправлено: 19:11, 29-12-2011 | #17 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Anonymоus нет нет, как раз наоборот, больше всего даже подходит пример из пост #11, при простое задача будет сниматься. скрипт нужен для поддержания нагрузки на модеме.
Запускается мониторинг трафика ждём 5 сек для накопления статистики :: Проверяем, не слишком ли низкая скорость, если да то :: Перезапуск сети продолжаем мониторинг. добавил вот эти строки работает, но появилась проблема скрипт через некоторое время если отключить сеть завершает свою работу. как правильно зациклить? |
Последний раз редактировалось serraxer, 30-12-2011 в 18:39. Причина: уточнение. Отправлено: 17:56, 30-12-2011 | #18 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Obsidian-step, сделал нужный вам вариант, минимальная скорость задается в начале, возле частоты обновления. Заодно подправил вывод средней скорости, теперь отсчет идет именно по ней. Для ее рассчета нужна задержка длинной "частота обновления*10". Из зависимостей - все тот же gnucalc.exe. Специально протестировал в течении пары часов при отключенной сети, скрипт не падает.
@Echo Off :: Anonymous, 2011 SetLocal EnableDelayedExpansion Mode CON Cols=35 Lines=10 Title LanStat Color 1F :: Добавляем директорию с бинарниками в path Echo %Path%|Find "%CD%\bin">nul||Set Path=%Path%;%CD%\bin :: Интервал обновления статистики, в секундах Set Refresh=2 :: Маска IP адреса (например, 192.168) Set IPMask=10.54 :: Минимальная скорость, в Кб\с Set MinSpeed=20 Set i=0 :: Получаем IP (только один раз, при запуске) IPConfig /All|Find " %IPMask%"|Find "IP">nul If %ErrorLevel%==0 ( For /F "tokens=2 delims=:" %%A In ('IPConfig /All^|Find " %IPMask%"^|Find "IP"') Do (Set IP=%%A) If "!IP:~,1!"==" " Set IP=!IP:~1! ) Else ( Set IP=NOT FOUND ) :NetStatLoop For /F "tokens=2,3 skip=3" %%A In ('netstat -e') Do ( Set In=%%A Set Out=%%B GoTo Break2 ) :Break2 :: Получаем статистику скачанного и переданного For /F "tokens=1" %%A In ('gnucalc %In%/1024/1024') Do ( Call :Cut "%%A" "TotalDownloadMB" ) For /F "tokens=1" %%A In ('gnucalc %Out%/1024/1024') Do ( Call :Cut "%%A" "TotalUploadMB" ) :: Рассчитываем скорость For /F "tokens=1" %%A In ('gnucalc ^(%In%/1024-%OldIn%/1024^)/%Refresh%') Do ( Call :Cut "%%A" "DownloadSpeed" ) If %DownloadSpeed%==0.11 Set DownloadSpeed=0.0 For /F "tokens=1" %%A In ('gnucalc ^(%Out%/1024-%OldOut%/1024^)/%Refresh%') Do ( Call :Cut "%%A" "UploadSpeed" ) If %UploadSpeed%==0.11 Set UploadSpeed=0.0 :: Рассчитываем среднюю скорость If Not %i% GTR 10 (Set /A i+=1) Set AverageDownSpeed=!DownloadSpeed!:%AverageDownSpeed% For /F "tokens=1,2,3,4,5,6,7,8,9,10 delims=:" %%A In ("%AverageDownSpeed%") Do ( For /F "tokens=1" %%L In ('gnucalc ^(%%A+%%B+%%C+%%D+%%E+%%F+%%G+%%H+%%I+%%J^)/10 2^>nul') Do ( Call :Cut "%%L" "AvgDownload" ) Set AverageDownSpeed=%%A:%%B:%%C:%%D:%%E:%%F:%%G:%%H:%%I:%%J If Not %i% GTR 10 (Set AvgDownload=N\A) ) Set AverageUpSpeed=!UploadSpeed!:%AverageUpSpeed% For /F "tokens=1,2,3,4,5,6,7,8,9,10 delims=:" %%A In ("%AverageUpSpeed%") Do ( For /F "tokens=1" %%L In ('gnucalc ^(%%A+%%B+%%C+%%D+%%E+%%F+%%G+%%H+%%I+%%J^)/10 2^>nul') Do ( Call :Cut "%%L" "AvgUpload" ) Set AverageUpSpeed=%%A:%%B:%%C:%%D:%%E:%%F:%%G:%%H:%%I:%%J If Not %i% GTR 10 (Set AvgUpload=N\A) ) Set OldIn=%In%&Set OldOut=%Out% Cls :: Выводим статистику Echo. Echo IP : %IP% Echo Total download : %TotalDownloadMB% Mb Echo Total upload : %TotalUploadMB% Mb Echo. Echo Download speed : %DownloadSpeed% Kb\s Echo Upload speed : %UploadSpeed% Kb\s Echo Average download : %AvgDownload% Kb\s Echo Average upload : %AvgUpload% Kb\s :: Задержка между циклами Ping -n %Refresh% 127.0.0.1>nul :: Проверка скорости If %i% GTR 10 ( For /F "tokens=1,2 delims=." %%A In ("%AvgDownload%") Do ( Set ConnectionSpeed=%%A If %%B GEQ 50 Set /A ConnectionSpeed+=1 :: Если ниже заданного порога, делаем реконнект If %MinSpeed% GTR !ConnectionSpeed! ( netsh interface set interface "mts rus" disabled netsh interface set interface "mts rus" enabled ) ) ) GoTo NetStatLoop :Cut :: Урезаем дробную часть For /F "tokens=1,2 delims=." %%A In ("%~1") Do ( Set tmpA=%%A If "!tmpA:~,1!"=="~" Set tmpA=!tmpA:~1! If "!tmpA:~,1!"=="-" Set tmpA=!tmpA:~1! Set tmpB=%%B If "!tmpB:~,1!"=="~" Set tmpB=!tmpB:~1! If "!tmpB:~,1!"=="-" Set tmpB=!tmpB:~1! If "!tmpB!"=="" Set tmpB=0 Set tmpB=!tmpB:~,2! Set %~2=!tmpA!.!tmpB! ) Exit /B |
Последний раз редактировалось Anonymоus, 31-12-2011 в 04:32. Отправлено: 00:58, 31-12-2011 | #19 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Скрипт определения внешнего IP | stolyar | Скриптовые языки администрирования Windows | 9 | 21-09-2010 12:09 | |
Любой язык - Скрипт Visual Basic для определения IP в Windows 7 и XP | Hitsi | Скриптовые языки администрирования Windows | 8 | 20-02-2010 23:23 | |
Сайт на двух языках (php-скрипт для определения языка) | vitalyhan | Вебмастеру | 2 | 22-11-2009 15:36 | |
Log/Monitoring - ограничение скорости интернета | Zlodei4ik Aleksandr | Сетевые технологии | 6 | 14-10-2009 08:42 | |
Отличие скорости закачки и скорости соеденения | Roma2Duo | Хочу все знать | 5 | 26-01-2009 08:24 |
|