Entwickler-Ecke

Internet / Netzwerk - server-socket-ip anzeigen


Takeshi - Fr 21.03.03 01:30
Titel: server-socket-ip anzeigen
hi
sorry, dass ich diese einfache frage poste, aber ich habe sehr viel gesucht und immer nur den verweis auf eine umfangreiche funktion zur ermittlung der eigenen ip im netzwerk gefunden.
ich moechte in meinem server einfach die ip anzeigen lassen, die der client nacher zum connecten eingeben muss. leider gibt mir ServerSocket1.Socket.LocalAddress nur eine 0.0.0.0 zurück.
ich dachte aber eigentlich schon ,dass man irgendwie auf nicht allzu kompliziertem wege die ip herausfinden kann, die der server-socket hat.?
vielen dank schonmal, greez, Takeshi


Aya - Fr 21.03.03 03:12

Hi,

das einfachste is wohl einfach die Powersock Komponente (FastNet) zu benutzen.

Deine IP bekommst du dann mit Powersock1.LocalIP raus :)

Au'revoir,
Aya~


Takeshi - Sa 22.03.03 16:28

thx funzt ganz gut.

die powersock komponente kann aber nicht die funktion einer server/client-socket komponente uebernehmen oder ?

anyway merci beaucoup!


focus - Fr 28.03.03 09:39


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function GetIpAddress: string;
var
  phoste: PHostEnt;
  Buffer : array [0..100] of char;
  WSAData: TWSADATA;
begin
  result := '';
  if WSAStartup($0101, WSAData) <> 0 then exit;
  GetHostName(Buffer, Sizeof(Buffer));
  phoste := GetHostByName(buffer);
  if phoste = nil then result := '127.0.0.1'
  else result:= StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^));
  WSACleanup;
end;