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

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

нежно узнать IP Адрес. [D7, WinXP]


mc_s ©   (2005-04-11 11:12:00) 

У меня комп включён в локальную сетку со статическими IP. А мне нужно узнать адрес, который присваивается когда я выхожу в интернет посредством модема (обычное DialUP соединение). Может кто подскажет ???


Карелин Артем   (2005-04-12 15:30:00) [1]

Если инитересует именно модемный IP и известен hRasConn, то так:

uses Ras//На jedi лежит заголовочный модуль.

function GetRemoteIP(hRAS: DWORD): string;
var RASPppIp: TRASPppIp;
   lpcp    : Integer;
begin
FillChar(RASPppIp,SizeOf(TRASPppIp),#00);
RASPppIp.dwSize:=SizeOf(TRASPppIp);
lpcp:=RASPppIp.dwSize;
RASGetProjectionInfo(hRAS,RASP_PppIp,@RASPppIp,lpcp);
Result:=RASPppIp.szIpAddress;
end;


Ozone   (2005-04-12 12:06:00) [2]

AThread.Connection.Socket.Binding.PeerIP


mc_s   (2005-04-12 11:38:00) [3]

Bindings.Items[i].PeerIP>>

Как получить текущий номер "i" внутри обработчика onCommandGet ???


Ozone   (2005-04-12 11:30:00) [4]

Bindings.Items[i].PeerIP


mc_s   (2005-04-12 11:19:00) [5]

а сразу если, можно, ещё вопросик.
 Как узнать сетевой адрес клиента в компоненте TidHTTPServer ?


mc_s   (2005-04-12 11:17:00) [6]

спасибо, всё получилось!


Digitman   (2005-04-11 12:20:00) [7]


> mc_s


> какая библиотека


uses .., Winsock, ...


mc_s   (2005-04-11 11:23:00) [8]

TWSAData ??? какая библиотека ??? он у меня даже в хэлпе ненаходит


френк   (2005-04-11 11:21:00) [9]

нежно... LOL


Rouse_   (2005-04-11 11:20:00) [10]

Проверить негде, попробуй вот этот код:

procedure TForm1.Button1Click(Sender: TObject);
var
 WSAData: TWSAData;
 p: PHostEnt;
 Name: array [0..$FF] of Char;
begin
 WSAStartup($0101, WSAData);
 try
   GetHostName(name, $FF);
   p := GetHostByName(Name);
   while Assigned(p.h_addr_list^) do
   begin
     memo1.Lines.Add(inet_ntoa(PInAddr(p.h_addr_list^)^));
     inc(p.h_addr_list);
   end;
 finally
   WSACleanup;
 end;
end;


Наверх

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