گرفتن IP هاي سيستمي برنامه در آن اجرا مي شود :
function ReadIPs: TStrings;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var Buffer: array[0..63] of Char;
iI: Integer; PPtr: PaPInAddr;
pHE: PHostEnt;
GInitData: TWSAData;
begin
WSAStartup($101, GInitData);
Result := TStringList.Create;
Result.Clear;
GetHostName(Buffer, SizeOf(Buffer));
pHE := GetHostByName(buffer);
if pHE = nil then
Exit;
PPtr := PaPInAddr(pHE^.H_Addr_List);
iI := 0;
while pPtr^[iI] <> nil do
begin
Result.Add(Inet_NToA(PPtr^[iI]^));
Inc(iI);
end;
WSACleanup;
end;
ميشه وقتي هر كلاينت اجرا شد. IP خودش رو به سرور بده . منتها بايد IP سرور رو داشته باشه.