怎么在一个edit中输入一个IP能得到一个地址,类似于追捕的功能!(50分)

  • 主题发起人 主题发起人 炮手
  • 开始时间 开始时间

炮手

Unregistered / Unconfirmed
GUEST, unregistred user!
请教了!
 
对于Internet的IP,需要有数据库,追捕就有数据库
 
对于自己的本地ip,得到计算机名称倒很简单。
uses winsock;

function iptoname(ip: string): string;
var
WSAData: TWSAData;
p: PHostEnt;
InetAddr: dword;
begin
result := '''';
WSAStartup(2, WSAData);
InetAddr := inet_addr(PChar(IP));
try
p := GetHostByAddr(@InetAddr, Length(IP), PF_Inet);
if p <> nil then result := p^.h_name;
except
result := '''';
end;
end;
 
简单点就是一个IP转域名的函数罢了!
要像追捕一样,你必须要有IP地址对照数据表,而且追捕的也极不完善!
其实技术上没什么难度,关键是IP与地址转换的数据难收集!
 
难道没有能告诉我怎么写吗?
 
简单说,它就是根据IP去查找自己的数据库,或者说数据文件,而那个数据文件是已经准备好的。
如果能够查到,就显示出来,否则就无法识别。
当然,这个数据文件放在Internet上,可以随时更新,如果你知道那个地址,你也可以给它增加记录。
这样它的识别能力便逐渐增强。
就是这个原理。
比局域网得到计算机名称相对还简单一些。
 
接受答案了.
 
后退
顶部