|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - getbyname |
|
|
Разное - getbyname
|
Пользователь Сообщения: 69 |
Здравствуйте. У меня возникла следующая проблема. Когда я в командной строке пишу "ping -n 1 google.ru", то у меня выдаёт результат без всяких задержек, а вот когда я делаю пинг на несуществующий сервер "ping -n 1 zzz.ttt", то у меня происходит перед выводом результата задержка примерно в 3 секунды, что существенно удлиняет время работы программы, которая пингует сеть. Я думаю что в команде ping есть функция getbyname, которая и осуществляет задержку.
Как мне попробовать расковырять эту функцию, или есть другие способы обойти эту проблему? |
|
Отправлено: 08:55, 18-12-2010 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Jonik-Mnimonik, Задержку осуществляет технология передачи и распространения ICMP пакетов. (ARP туда же.)
Другие способы - использовать мультипотоковый ping. Верней мультипотоковую рассылку echo ICMP пакетов. Расковырять - добро пожаловать за исходниками. |
------- Отправлено: 11:11, 18-12-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать То есть, как я понимаю, мне необходимо создавать кучу процессов которые будут запускать команду пинг, и отлавливать результат для каждого процесса?(Это 1 вариант)
А второй вариант - это самому открывать сокет, отсылать echo пакет и ждать ответа? а не будет ли у меня этот echo пакет идти долгое время? PS Сеть состоит из 4000 компов. |
Отправлено: 12:27, 18-12-2010 | #3 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Jonik-Mnimonik, начни все же с изучения протоколов, честно. ICMP, UDP, ARP, Маршрутизация.
Цитата Jonik-Mnimonik:
Может тебе проще взять готовую утилиту? С исходников Linux например? Или это задание по обучению/курсам повышения квалификации и т.д.? |
|
------- Отправлено: 12:53, 18-12-2010 | #4 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать У меня в одном домене допустим 20 компьютеров, и мне необходимо узнать кто за компьютером работает в данный момент времени(или вообще осуществить какое-либо другое действие), но для того чтобы осуществить какое-либо действие мне необходимо проверить "А вообще компьютер включен?". Вот и стоит задача как можно быстро осуществить пинг этого домена, а то я что-то не люблю когда всё глючит))
|
|
Отправлено: 13:06, 18-12-2010 | #5 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Кстати, сделал такой вывод что, если запустить функцию getbyname в ОС Linux, то задержки нет, так что мне кажется что это не зависит от протоколов.
|
Отправлено: 16:31, 18-12-2010 | #6 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Jonik-Mnimonik, что за функция getbyname ? Какой это ключ для команды ping ? -n ?
Цитата:
Цитата Jonik-Mnimonik:
fping попробуй. |
||
------- Отправлено: 17:24, 18-12-2010 | #7 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать С опцией -n я как раз и делаю. fping тоже пробовал, возникает та же самая задержка. Могу подождать до понедельника, некоторые твои идеи я уже намотал на ус. Если удастся реализовать через распараллеливание процессов, то я думаю 3-х секундная задержка не помешает. Спасибо.
|
Отправлено: 19:34, 18-12-2010 | #8 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата Jonik-Mnimonik:
Для решения проблемы надо всего лишь запускать проверку машин в параллельных потоках. Для C# есть одна очень хорошая книга - "C# Сборник рецептов" от Павла Агурова - там на 153 и 155 странице все это очень подробно расписано. Если есть желание - найди её, в djvu формате она выложена в инете. |
|
------- Отправлено: 01:07, 20-12-2010 | #9 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать оказался все же nmap + графическая оболочка к нему Zenmap облегчающая задание параметров сканирования.
|
------- Отправлено: 15:58, 20-12-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|