더운날씨 모두 건강 잘 챙기시구요 ^^
제가 이곳 싸이트에서 자신의 ip가져오는 소스를 이것저것 구해서 사용하고있는데요
문제가 발생했습니다 ㅠㅠ;;
무엇인고하니..
실제로 쓰고있는 렌은 유선입니다
그런데 이것이... 무선을 사용을 안하더라도 무선쪽에 ip,subnet mask만 셋팅이 되어있어도
무선 아이피를 가져오내요 ㅠㅠ;;
자기가 실제로 사용하고있는 아이피를 가죠올수는 없나요?
제가 질문이좀.. 그런가요? ㅠㅠ
여러 고수님 답변 꼭 부탁드립니다
아직 식사안하신 분들은 식사 맛나게하시구요 ^^
더위조심하셔요~
ps:지금 사용하고있는 소스입니다..
function GetLocalAddress:string;
var
wsaData : TWSAData;
slocal : array[0..255] of AnsiChar;
phos : PHostEnt;
addr : PChar;
begin
Result := '';
if (WSAStartup(MAKEWORD(1, 1), wsaData) <> 0) then exit;
if (gethostname(slocal, sizeof(slocal)) = SOCKET_ERROR) then
exit;
phos := gethostbyname(slocal);
if phos = nil then exit;
addr := PChar(phos.h_addr_list^);
Result := inet_ntoa(PInAddr(addr)^);
WSACleanup();
end;
function ip: String;
var
WSAData: TWSAData;
HostName, Address: String;
HostEnt: PHostEnt;
begin
{ no error checking...}
WSAStartup(2, WSAData);
SetLength(HostName, 255);
gethostname(PansiChar(HostName), 255);
SetLength(HostName, StrLen(PChar(HostName)));
HostEnt := gethostbyname(PansiChar(HostName));
with HostEnt^ do
Address := Format('%d.%d.%d.%d',[Byte(h_addr^[0]),
Byte(h_addr^[1]),
Byte(h_addr^[2]), Byte(h_addr^[3])]);
WSACleanup;
Result := address;
end;
procedure TForm1.Button1Click(Sender: TObject);
vAR
LiP : string;
begin
HostToIP('컴퓨터 이름', Lip);
Button1.Caption := LiP;
end;
function HostToIP(Name: string; var Ip: string): Boolean;
var wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then
begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then
begin
IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else
begin
Result := False;
end;
finally
WSACleanup;
end
end;