域名转IP,如果域名也不知道...... unit UnitGetIPFromHost;interfaceuses WinSock, SysUtils; function GetIPFromHost(const Name: string): string;implementationfunction GetIPFromHost(const Name: string): string; var WSAData: TWSAData; HostName: array[0..255] of char; HostEnt: PHostEnt; Addr: PChar; begin WSAStartup($0101, WSAData); 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 Result := Format('%d.%d.%d.%d', [byte(addr[0]), byte(addr[1]), byte(addr[2]), byte(addr[3])]); end else Result := '未知'; end else Result := '未知' else Result := '未知'; finally WSACleanup; end; end;end.
有很多种协议可以选择,如TCP, UDP,FTP等,可以根据不同的需要选择。
如果只是进行数据的传输,可以使用TCP或UDP,但UDP是非连接的协议,通信双方
不一定要同时连接,TCP要求双方同时在线。
如果是要收发邮件,可以用STMP 或 POP3 协议,在网上有很多多的例子,具体
你可以参考一下!
unit UnitGetIPFromHost;interfaceuses
WinSock, SysUtils; function GetIPFromHost(const Name: string): string;implementationfunction GetIPFromHost(const Name: string): string;
var
WSAData: TWSAData;
HostName: array[0..255] of char;
HostEnt: PHostEnt;
Addr: PChar;
begin
WSAStartup($0101, WSAData);
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
Result := Format('%d.%d.%d.%d', [byte(addr[0]),
byte(addr[1]), byte(addr[2]),
byte(addr[3])]);
end
else
Result := '未知';
end
else
Result := '未知'
else
Result := '未知';
finally
WSACleanup;
end;
end;end.