用Winsock获得的局域网主机名异常

[复制链接]
查看11 | 回复1 | 2011-1-16 15:40:44 | 显示全部楼层 |阅读模式
我在delphi里用Winsock制作了一个扫描局域网主机名的小程序,在我的机子上得出的结果都是“SOXXX”形式的,在其他机器上扫描又是正常的。请问我的机子哪里出了问题?
Function TF_MyLan.GetNameByIP(mIP:string; var Name:string):boolean;
var
PHt:PHostEnt;
WSData: TWSAData;
i:Word;
j:integer;
k:u_long;
begin
result:=false;
i:=MAKEWORD(1,1);
if WSAStartup(i,WSData)0 then exit;
k:=inet_addr(PChar(MIP));
PHt:=gethostbyaddr(@k,4,PF_INET);
if PHt=nil then
begin

j:=WSAGetLastError;

Name:='Error:'+inttostr(j-WSABASEERR);
end
else
begin

Name:=PHt.h_name;

result:=true;
end;
WSACleanup;
end;
procedure TF_MyLan.Button1Click(Sender: TObject);
begin
F_MyLan.GetNameByIP('192.168.43.204',IPAD);
F_MyLan.Edit1.text:=IPAD;
end;
显示结果为“S0204”,我想应该是系统问题

回复

使用道具 举报

千问 | 2011-1-16 15:40:44 | 显示全部楼层
制作代码看下哈。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行