|
델파이 코드이므로 빌더에서 쓰려면 살짝 수정해서 사용하세요.
//
// PC의 모든 IP 주소를 되돌리는 함수
//
function LocalIPList: TStrings;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of Char;
I: Integer;
WSAData: TWSAData;
begin
WSAStartup(MakeWord(2, 2), WSAData);
Result := TStringList.Create;
Result.Clear;
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then Exit;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
Result.Add(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanUp;
end;
번외편 님이 쓰신 글 :
: 음.. 지금 문제는 자신의 시스템에 있는 IP중에서
:
: 한개를 어떻게 선택하느냐입니다.
:
: C++빌더에 자신의 IP를 선택할수 있는것이 있는지..
:
: 아시는분 있으시면 알려주셨으면 합니다~
:
:
: civilian 님이 쓰신 글 :
: : 1. 시스템의 모든 IP 주소를 얻어온 다음
: :
: : 2. 각 IP별로 특정 시스템에 연결한 후 파일을 전송받는다
: :
: : 3. 가장 속도가 빠른 IP로 실제 서버에 접속한 후 동작 수행
: :
: : 이러면 되지 않을까요?
: :
: : 번외편 님이 쓰신 글 :
: : : 제가 하려는것은
: : : 클라이언트와 서버에
: : : ethernet
: : : wibro
: : : E1
: : : 등등 여러개를 연결시켜서
: : : 포트를 바꾸어가며(접속이 좋은쪽으로)
: : : 데이터를 전송하려고 하는데
: : : 볼랜드 C++ Builder 6.0을 이용해서
: : : 어떤식으로 설정을 해주어야 하는지 알고 싶습니다
: : :
: : : 제가 아직 초보이다보니.. 자세하게는 아니더라도
: : : 대충 틀을 짜주셨으면 좋겠네요..
|