![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Список машин в сети без тормозов приложения? [D6, Win95/98, WinME, NT4, Win2k, WinXP]
ReYka © (2002-07-08 15:33:00)Помню был алгоритм (где-то в FAQ), который выводил список ресурсов в локальной сети. Но при этом машина страшно тормозила. Недавно узнал что есть асинхронная функция WSA... и что-то там еще.
Но когда стал с ней разбиратся ничего не вышло. Подкиньте пожалуйсята пример как обновлять список машин, но не тормозить приложение.
ПЛЗ, не кидайте ничего не значащих ответов, пожалуйста покжите код!
Заранее благодарен!!!
valery_f (2002-07-12 14:20:00) [1]Раз ты знаешь имена, то наверное знаешь и IP. Можно, к примеру, при первом запуске или принудительно запустить тормозной поиск, составить таблицу "имя-IP" и сохранить в INI файле. А затем - обычный ping - см. http://delphi.mastak.ru/articles/icmp.html
ReYka (2002-07-12 12:31:00) [2]Хмм... ничего не понял...
Ну хорошо, вопрос немного по другому:
Я знаю все имена машин в сети. Как мне узнать находится она сейчас в сети или нет? Без тормозов и зависаний на каждой машине по Н секунд?
valery_f (2002-07-11 13:59:00) [3]> SerVS © (09.07.02 00:12) ...тормозящие операции запускаються в отдельном потоке...
При чем тут потоки? На этой операции Win9x просто наглухо вешается на N-сколько секунд, и поток тут ничего не решит.
> ReYka (08.07.02 15:33) ...есть асинхронная функция WSA...
Я так думаю, что поиск машин можно сделать самому, покопавшись в спецификациях, но это найдешь ТЫ а не ВИНДА. Винде, чтоб работать с другими машинами, нужно САМОЙ их найти через ее же стандартные службы, которые тормозят... и здесь мы возвращаемся к тому, с чего начали.
ReYka (2002-07-11 10:56:00) [4]Никто не поможет? :(
ReYka (2002-07-09 10:44:00) [5]Так и делал. Ничего не вышло. Все равно тормозит. Хотя попробую еще... раз.
Просто раз есть такая фу-ия то чего бы и не воспользоватся а не мудрить с "нитками".
SerVS (2002-07-09 00:12:00) [6]Обычно все длительные и тормозящие операции запускаються в отдельном потоке и пусть себе работают, а когда закчили сообщяют тебе о этом.
примерно так:
TMyLongOper = class (TThread)
private
...
ну и дальше ;)