程序中加入'更新動態IP地址'的功能?(100分)

  • 主题发起人 主题发起人 takdick
  • 开始时间 开始时间
T

takdick

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在自己的程序中加入'更新動態IP地址'的功能,我申請的是希網的動態域名(www.3322.org),請問可以做到嗎?請指教,謝謝.
 
可以使用GetHostByName(阻塞)
或者WSAAsyncGetHostByName(非阻塞)
uses winsock;
 
const WM_RESOLVE = WM_USER+100;
type TWMRESOLVE = record
Msg:word;
wParam:word;
lParam:dword;
end;

procedure WMRESOLVE(var Msg:TWMRESOLVE);Message WM_RESOLVE;

formcreate;
var WSAData: TWSAData;
begin
if (WSAStartup(MAKEWORD(2,0), WSAData)<> 0) then
raise exception.create('winsock version error');
end;

BtnGetHost;
begin
hAsyncHandle := WSAAsyncGetHostByName(handle, WM_RESOLVE, pchar('www.3322.org'), pchar(@buf),MAXGETHOSTSTRUCT);
end;

procedure tform.WMRESOLVE(var Msg:TWMRESOLVE);
begin
if buf.h_addr=nil then
begin
edit.text:='failed';
exit;
end;
edit.text :=format('%d.%d.%d.%d',
[ord(buf.h_addr^[0]),ord(buf.h_addr^[1]),ord(buf.h_addr^[2]),ord(buf.h_addr^[3])]);
edit2.text:=buf.h_name;
end;

formdestroy;
begin
WSACleanUP;
end;
 
Siva:先謝謝你的回答.
但這段代碼並沒有輸入帳戶和密碼的地方,如何更新IP?
 
>>来自:takdick, 时间:2006-7-7 13:35:41, ID:3498840
>>Siva:先謝謝你的回答.
>>但這段代碼並沒有輸入帳戶和密碼的地方,如何更新IP?
晕,你要更新的不是网卡的IP而是互联网上的IP?? 如果你的IP的ISP提供的静态IP怎么改变……
 
暈...我的問題有那麼難理解嗎?我不是要改變自己機子的IP.
你沒使用過域名轉向服務嗎?www.3322.org提供的服務你知道是怎麼用嗎?
我在希網申請一帳戶,登入後更新為自己的IP,可讓所有連接myaccount.3322.org的請求都指向自己的電腦,在希網上已有這樣的一個更新軟件,但我想把這一功能直接寫入自己的程序.
有誰會嗎?
 
晕,说了这么多,其实就是说 如何实现动态域名更新!

我不会[:D]
 
多人接受答案了。
 
后退
顶部