PDA

View Full Version : به دست آوردن آدر ip در شبکه



artmissoft
یک شنبه 22 اردیبهشت 1387, 18:18 عصر
:متفکر:دوستان من میخوام تحت شبکه lan که دارای 15 تا سیستم و یک سرور هستش ip هر سیستمی رو که خواستم در بیارم.
من از شبکه زیاد سر در نمیارم ولی شاید این هم به درد بخوره که نام سیستم ها به ترتیب Student 1 تا Student 15 هست یعنی مثلا :

Student 1
Local ip: 192.168.0.116

حالا چه طور میتونم ip سیستم ها رو بگیرم ؟؟؟
اگه لطف کنید یه نمونه بزارید ممنون میشم.

merced
یک شنبه 22 اردیبهشت 1387, 21:58 عصر
گرفتن 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 سرور رو داشته باشه.