Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить доступен-ли удаленный компьютер по имени


AlexS76 ©   (2004-03-11 10:16:00) 

Необходимо выяснить доступен ли в данный момент компьютер по сети.
Есть ли какие-то способы кроме ping


just me   (2004-03-11 18:01:00) [1]

Можно так:
var
 ntr      : NETRESOURCE;
 code     : DWORD;
 buf      : array[0..99] of char;
 Host     : string;
begin
 Host := 'my_servrt_name';
 StrPCopy(buf, '\\' + Host);
 with ntr do
 begin
   dwType       := RESOURCETYPE_ANY;
   lpLocalName  := nil;
   lpRemoteName := buf;
   lpProvider   := nil;
 end;
 code := WNetAddConnection2(ntr, '', '', 0);
 WNetCancelConnection2(buf, 0, True);
 if NO_ERROR <> code then
   raise Exception.Create(Format('Cannot access "%s".',Host]));


Reindeer Moss Eater   (2004-03-11 10:51:00) [2]

Ну вот стоит рядом со мной компьютер доступный мне по самое нехочу.
Но нет на нем TCP/IP. Вообще нет.

Что дальше?


Rezya   (2004-03-11 10:42:00) [3]

А чем тебя Ping не устраивает?.
На мой взгляд это самое лучшее средство которым обладает Win32 (и не только) для достижения товоей цели. Если у тебя с этим проблема то почитай к примеру "Реализация ping с помощью ICMP API" на этом сайте.
Если так подумать то для того чтобы обойтись без Ping то тебе нужно знать какой не будь постоянно открытый порт на удаленном компе, после чего если соединение с этим компом на этот порт прошло удачно без всяких там SOCKET_ERROR, то комп в сети если нет то ....


Reindeer Moss Eater   (2004-03-11 10:23:00) [4]

Какой смысл вложен в "компьютер доступен" и когда считается что "он недоступен" ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо