Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.007 c
15-1195868497
Duo
2007-11-24 04:41
2007.12.30
Как определить, что мышь над TToolButton.


2-1196752240
Kolan
2007-12-04 10:10
2007.12.30
Как преобразовать Integer Delphi цвет в Hex для PhotoShop?


8-1172084201
ы
2007-02-21 21:56
2007.12.30
картинка над фоном


2-1196782477
Alexey
2007-12-04 18:34
2007.12.30
Как правильно масштабировать форму


15-1196177178
All More system
2007-11-27 18:26
2007.12.30
Поисковик или форум?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский