用delphi编程如何实现动态域名解析?(200分)

  • 主题发起人 主题发起人 finelin
  • 开始时间 开始时间
F

finelin

Unregistered / Unconfirmed
GUEST, unregistred user!
想知道原理.
 
恕我无知,“动态域名解析”是什么意思?和“域名解析”有什么区别?
 
就是类似88ip、dns2go吧? 大概原理是这样的:
程序分客户和服务器两个部分,动态IP用户开机自动运行客户端,把自己的IP登记到服务器上。
服务器纪录这些动态IP,并接管DNS的功能,对DNS请求进行回应。

客户端和服务器端的IP接收部分好做,但是DNS部分没做过,需要好好研究一下bind。。。
 
应该是先获得拨号以后的ip地址,然后把ip以及你的域名提交给服务器端,根据你的域名在管理dns的某个
存放ip与域名一一对应关系的文件中找到你的域名原先对应的ip,并修改之,这只是我的猜测
,严重关注!
对了,你若解决了此问题,别忘了告诉我答案谢谢!
我也正在研究此问题!
sunstarsunborm@yahoo.com.cn
 
关键应该是自动修改DNS。这方面的资料比较缺。
花生壳作得不错。就是没有内线.
 
例如,把 DNS Server的地址添加为192.0.0.1和192.1.1.0,可调用:
SetTCPIPDNSAddresses('192.0.0.1 192.1.1.0') ;
// 各地址之间用一个空格隔开

1. SetTCPIPDNSAddresses 定义如下:

procedure SetTCPIPDNSAddresses( sIPs : string );
begin
//
// if using Windows NT
//
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEM/CurrentControlSet' +
'/Services/Tcpip/Parameters',
'NameServer',
sIPs );

//
// if using Windows 95
//
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEM/CurrentControlSet' +
'/Services/VxD/MSTCP',
'NameServer',
sIPs );
end;

2. 其中 SaveStringToRegistry_LOCAL_MACHINE 定义:
uses Registry;

procedure SaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal : string );
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString( sKey, sItem, sVal + #0 );
reg.Free;
end;

 
后退
顶部