Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Внизполучить локальный IP-адрес компьютера Найти похожие ветки
← →
Егоров А.Н. (2007-12-04 14:20) [0]Господа мастера, подскажите пожалуйста, как мне получить локальный IP-адрес на самой клиентской машине.
← →
Anatoly Podgoretsky © (2007-12-04 14:24) [1]> Егоров А.Н. (04.12.2007 14:20:00) [0]
127.0.0.1
← →
clickmaker © (2007-12-04 14:45) [2]gethostbyname()
← →
Eraser © (2007-12-04 14:48) [3]http://www.delphikingdom.com/asp/answer.asp?IDAnswer=38758
← →
Егоров А.Н. (2007-12-04 14:58) [4]> clickmaker
из какого USES эта функция - gethostbyname()
← →
clickmaker © (2007-12-04 15:19) [5]
> [4] Егоров А.Н. (04.12.07 14:58)
поиск по Delphi/Source
← →
Dennis I. Komarov © (2007-12-04 15:35) [6]"Опять икра..." (С)
Сколько раз тут говорили: у машины нет IP
← →
Егоров А.Н. (2007-12-04 15:47) [7]> clickmaker
Все перерыл - не нашел, но копаю. Если кто знает, подскажите.
← →
Desdechado © (2007-12-04 15:50) [8]IP есть у сетевого интервейса, если он поддерживает этот протокол.
А сетевых интерфейсов может быть 0..N
← →
Егоров А.Н. (2007-12-04 16:07) [9]> Desdechado
В данном случае есть сервер со своим IP (например: 198.188.0.100) и есть штук сорок компьютеров со своими статическими IP (например: 198.188.0.1, 198.188.0.2, 198.188.0.3 и т.п.). Каждый компьютер сети имеет только одно подключение по локальной сети по протоколу TCP/IP, поэтому и адрес у него единственный.
← →
Eraser © (2007-12-04 16:10) [10]
> Егоров А.Н. (04.12.07 16:07) [9]
> поэтому и адрес у него единственный.
не единственный, есть, как минимум, еще один - loopback.
на сервере сколько сетевых карт?
← →
Егоров А.Н. (2007-12-05 11:27) [11]Все. Нарыл на <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;
Работает отлично. Вы все мне очень помогли. Спасибо. Отбой.
← →
Ega23 © (2007-12-05 11:32) [12]У машины может быть 2 сетевые карточки.
← →
Desdechado © (2007-12-05 11:56) [13]> У машины может быть 2 сетевые карточки.
А также модемы и прочая в количестве N экземпляров.
Помню, на заре моего программизма на IB при попытке соединения по IP вечно у клиентов вылазил контроллер удаленного доступа с запросом на пароль к соединению по модему.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c