Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2010, 14:59   #1
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию Узнать включен ли удаленный компьютер

Как узнать, включен ли удаленный компьютор, зная его IP адрес, но при этом не пингуя его?
Шипулин А. В.

Последний раз редактировалось Шульц; 24.01.2010 в 15:03.
Шульц вне форума Ответить с цитированием
Старый 24.01.2010, 15:56   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

варианты, если не за NAT:
1- если компьютер сам что-либо посылает, реально только для локальной отследить
2- если есть открытый порт, то попробовать подключиться
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 24.01.2010, 18:37   #3
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Первое не подойдет, а во втором случае много ли времени уйдет на подключение?
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 24.01.2010, 19:18   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

зависит от канала... времени будет ~ столько-же сколько при пинге через icmp.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 24.01.2010, 19:38   #5
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

А нет ли способа быстрее пинга? или придется паралельно выполнять, просто имеется около 100 компьютеров или примерно столько же различных устройств которые тоже надо проверять. Не хотелось бы проверку выполнять очень долго.
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 24.01.2010, 20:42   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

с чего-это пинг медленная процедура... пошлем одиночный пакет 1 раз, в локалке это от 1-10(самый худший)мс, итого секунда-две с запасом на 100 компов, для надежности можно несколько пакетов на адрес...

...проверка не есть критичная ко-времени процедура, вот если-бы данные, тогда да.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 24.01.2010, 21:43   #7
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Что-то не пойму я
Если ведь компа нет в сети, то пинг займет 5 секунд, я просто считал, чтобы пропинговать 200 устройств надо 1000 секунд, в самом худжем случае.
Или можно сократить пинг ответа до 10 милисекунд? Хотя этого не достаточно, некоторые устройства (IP камеры) отвечают дольше до 200 мс. Ну, получим максимум 200 мс, 200 устройств - 40 секунд, тоже многовато

В идеале было бы распараллелить так, чтобы свести время секунд до 5, при сканировании 255 устройств. Но как можно было бы распараллелить, потоки?
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 25.01.2010, 09:09   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Если ведь компа нет в сети, то пинг займет 5 секунд
асинхронный метод
паралельный ping для всех компов
выполение PING в потоках, результаты передавать в основной

запускаем 100 процессов, через 5 сек (время максимального (точнее время TIMEOUT) пинга) получим ВСЕ результаты
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 28.01.2010, 22:46   #9
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Тогда у меня такой вопрос, получается что придется для каждого пинга создавать свой поток? Или можно решить это другим способом, если можно то с элементарным примером
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как узнать включен ли комп в локальной сети Monster Работа с сетью в Delphi 17 27.08.2010 16:41
ListView: если включен Checkboxes, как определить отмечание стоки? Gerzs Общие вопросы Delphi 1 07.10.2009 09:18
Установка программы на удаленный компьютер joker Win Api 4 12.07.2009 13:22
Выключить удаленный компьютер _SERGEYX_ Работа с сетью в Delphi 1 23.12.2008 10:09
Безопасная связка компьютер-компьютер, как организовать наилучшую защиту Alar Операционные системы общие вопросы 3 17.02.2008 21:15