Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.142.173.227] |
|
Сообщ.
#1
,
|
|
|
Как узнать: апишник по имени компьютера, имя компьютера по айпишнику и еще вопрос:
Почему в компоненте IdIcmpClient когда в поле host вводишь апишник, он нормально все пингует, ну если ввести имя компьютера то он выдает отрицательный результат в любом случаи? |
Сообщ.
#2
,
|
|
|
а как ты по имини компа собрался узнать IP ? ;D
lamer <=> 127.0.0.1 xakep <=> 31.33.7.0 ? ? ? ;D ;D ;D |
Сообщ.
#3
,
|
|
|
я имелл ввиду в сети.
ну ты когда пишешь выполнить: "ping lamer" он пингует комп, а когда компа нет в сети он пишет, что невозможно определить IP-дрес компьютера, значит есть какая то возможность определять таким образом. А на вторую чать вопроса что не ответил!?? , меня она больше интересует |
Сообщ.
#4
,
|
|
|
и кстати наоборот
lamer <=> 31.33.7.0 xakep <=> 127.0.0.1 |
Сообщ.
#5
,
|
|
|
GetHostByName
|
Сообщ.
#6
,
|
|
|
а вааще как Говориться
Цитата ;Dя сегодня добрый <br>uses Winsock; <br><br>function GetIPFromHost<br>(var HostName, IPaddr, WSAErr: string): Boolean; <br>type <br> Name = array[0..100] of Char; <br> PName = ^Name; <br>var <br> HEnt: pHostEnt; <br> HName: PName; <br> WSAData: TWSAData; <br> i: Integer; <br>begin <br> Result := False; <br> if WSAStartup($0101, WSAData) <> 0 then begin <br> WSAErr := 'Winsock is not responding."'; <br> Exit; <br> end; <br> IPaddr := ''; <br> New(HName); <br> if GetHostName(HName^, SizeOf(Name)) = 0 then<br> begin <br> HostName := StrPas(HName^); <br> HEnt := GetHostByName(HName^); <br> for i := 0 to HEnt^.h_length - 1 do <br> IPaddr :=<br> Concat(IPaddr,<br> IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.'); <br> SetLength(IPaddr, Length(IPaddr) - 1); <br> Result := True; <br> end<br> else begin <br> case WSAGetLastError of<br> WSANOTINITIALISED:WSAErr:='WSANotInitialised'; <br> WSAENETDOWN :WSAErr:='WSAENetDown'; <br> WSAEINPROGRESS :WSAErr:='WSAEInProgress'; <br> end; <br> end; <br> Dispose(HName); <br> WSACleanup; <br>end; <br>......<br>procedure TForm1.Button1Click(Sender: TObject); <br>var <br> Host, IP, Err: string; <br>begin <br> if GetIPFromHost(Host, IP, Err) then begin <br> Edit1.Text := Host; <br> Edit2.Text := IP; <br> end <br> else <br> MessageDlg(Err, mtError, [mbOk], 0); <br>end; <br> |
Сообщ.
#7
,
|
|
|
Как узнать: апишник по имени компьютера, имя компьютера по айпишнику и еще вопрос:
Почему в компоненте IdIcmpClient когда в поле host вводишь апишник, он нормально все пингует, ну если ввести имя компьютера то он выдает отрицательный результат в любом случаи? |
Сообщ.
#8
,
|
|
|
а как ты по имини компа собрался узнать IP ? ;D
lamer <=> 127.0.0.1 xakep <=> 31.33.7.0 ? ? ? ;D ;D ;D |
Сообщ.
#9
,
|
|
|
я имелл ввиду в сети.
ну ты когда пишешь выполнить: "ping lamer" он пингует комп, а когда компа нет в сети он пишет, что невозможно определить IP-дрес компьютера, значит есть какая то возможность определять таким образом. А на вторую чать вопроса что не ответил!?? , меня она больше интересует |
Сообщ.
#10
,
|
|
|
и кстати наоборот
lamer <=> 31.33.7.0 xakep <=> 127.0.0.1 |
Сообщ.
#11
,
|
|
|
GetHostByName
|
Сообщ.
#12
,
|
|
|
а вааще как Говориться
Цитата ;Dя сегодня добрый <br>uses Winsock; <br><br>function GetIPFromHost<br>(var HostName, IPaddr, WSAErr: string): Boolean; <br>type <br> Name = array[0..100] of Char; <br> PName = ^Name; <br>var <br> HEnt: pHostEnt; <br> HName: PName; <br> WSAData: TWSAData; <br> i: Integer; <br>begin <br> Result := False; <br> if WSAStartup($0101, WSAData) <> 0 then begin <br> WSAErr := 'Winsock is not responding."'; <br> Exit; <br> end; <br> IPaddr := ''; <br> New(HName); <br> if GetHostName(HName^, SizeOf(Name)) = 0 then<br> begin <br> HostName := StrPas(HName^); <br> HEnt := GetHostByName(HName^); <br> for i := 0 to HEnt^.h_length - 1 do <br> IPaddr :=<br> Concat(IPaddr,<br> IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.'); <br> SetLength(IPaddr, Length(IPaddr) - 1); <br> Result := True; <br> end<br> else begin <br> case WSAGetLastError of<br> WSANOTINITIALISED:WSAErr:='WSANotInitialised'; <br> WSAENETDOWN :WSAErr:='WSAENetDown'; <br> WSAEINPROGRESS :WSAErr:='WSAEInProgress'; <br> end; <br> end; <br> Dispose(HName); <br> WSACleanup; <br>end; <br>......<br>procedure TForm1.Button1Click(Sender: TObject); <br>var <br> Host, IP, Err: string; <br>begin <br> if GetIPFromHost(Host, IP, Err) then begin <br> Edit1.Text := Host; <br> Edit2.Text := IP; <br> end <br> else <br> MessageDlg(Err, mtError, [mbOk], 0); <br>end; <br> |
Сообщ.
#13
,
|
|||
|
А все же кто нибудь ответит или нет??
|