![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
получить локальный IP-адрес компьютера [D7, WinXP]
Егоров А.Н. © (2007-12-04 14:20:00)Господа мастера, подскажите пожалуйста, как мне получить локальный IP-адрес на самой клиентской машине.
Desdechado (2007-12-05 11:56:00) [1]> У машины может быть 2 сетевые карточки.
А также модемы и прочая в количестве N экземпляров.
Помню, на заре моего программизма на IB при попытке соединения по IP вечно у клиентов вылазил контроллер удаленного доступа с запросом на пароль к соединению по модему.
Ega23 (2007-12-05 11:32:00) [2]У машины может быть 2 сетевые карточки.
Егоров А.Н. (2007-12-05 11:27:00) [3]Все. Нарыл на < http://www.cracklab.ru/pro/faq.php?pg=2100&ln=50>
uses
WinSock;
function GetLocalIP: String;
const WSVer = $101;
var
wsaData: TWSAData;
P: PHostEnt;
Buf: array [0..127] of Char;
begin
Result := '';
if WSAStartup(WSVer, wsaData) = 0 then begin
if GetHostName(@Buf, 128) = 0 then begin
P := GetHostByName(@Buf);
if P nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
end;
WSACleanup;
end;
end;
Работает отлично. Вы все мне очень помогли. Спасибо. Отбой.
Eraser (2007-12-04 16:10:00) [4]
> Егоров А.Н. (04.12.07 16:07) [9]
> поэтому и адрес у него единственный.
не единственный, есть, как минимум, еще один - loopback.
на сервере сколько сетевых карт?
Егоров А.Н. (2007-12-04 16:07:00) [5]> Desdechado
В данном случае есть сервер со своим IP (например: 198.188.0.100) и есть штук сорок компьютеров со своими статическими IP (например: 198.188.0.1, 198.188.0.2, 198.188.0.3 и т.п.). Каждый компьютер сети имеет только одно подключение по локальной сети по протоколу TCP/IP, поэтому и адрес у него единственный.
Desdechado (2007-12-04 15:50:00) [6]IP есть у сетевого интервейса, если он поддерживает этот протокол.
А сетевых интерфейсов может быть 0..N
Егоров А.Н. (2007-12-04 15:47:00) [7]> clickmaker
Все перерыл - не нашел, но копаю. Если кто знает, подскажите.
Dennis I. Komarov (2007-12-04 15:35:00) [8]"Опять икра..." (С)
Сколько раз тут говорили: у машины нет IP
clickmaker (2007-12-04 15:19:00) [9]
> [4] Егоров А.Н. (04.12.07 14:58)
поиск по Delphi/Source
Егоров А.Н. (2007-12-04 14:58:00) [10]> clickmaker
из какого USES эта функция - gethostbyname()
Eraser (2007-12-04 14:48:00) [11]http://www.delphikingdom.com/asp/answer.asp?IDAnswer=38758
clickmaker (2007-12-04 14:45:00) [12]gethostbyname()
Anatoly Podgoretsky (2007-12-04 14:24:00) [13]> Егоров А.Н. (04.12.2007 14:20:00) [0]
127.0.0.1