分数太少了!!那位高手发扬雷锋精神帮帮我!!!!!(13分)

  • 主题发起人 主题发起人 goodfox2002
  • 开始时间 开始时间
G

goodfox2002

Unregistered / Unconfirmed
GUEST, unregistred user!
我用winsock通讯,程序已经正常。
现在在前面加了一个IdDNSResolver查询。
winsock连接就不能初始化!!!!

请问IdDNSResolver在使用后应该如何断开连接???
我用了IdDNSResolver.Free。
 
<<winsock连接就不能初始化>>
给出错误码!!!
 
返回错误:err:=-1;

程序如下:
IdDNSResolver:=TIdDNSResolver.create(nil);
....
IdDNSResolver.free;

err:=WSAStartup($0101,WSAData);
FSocket := socket(PF_INET, SOCK_STREAM,IPPROTO_IP);
SockAddrIn.sin_addr.s_addr:=inet_addr(PChar(host));
SockAddrIn.sin_family := PF_INET;
SockAddrIn.sin_port :=htons(port);
repeat
err:=connect(FSocket,SockAddrIn, SizeOf(SockAddrIn));
until err=0;
 
repeat
err:=connect(FSocket,SockAddrIn, SizeOf(SockAddrIn));
until err=0;
改成
repeat
err:=connect(FSocket,SockAddrIn, SizeOf(SockAddrIn));
if err=-1 then
err:=WSAGetLastError;
until err=0;
再把错误码贴出来。

 
你SockAddrIn中的地址或端口无效。
 
谢谢你,是ip地址不正确!!
 
mywyn: 再问一下,如果我现在直接用域名(不是IP地址)。
怎样建立连接呢?程序怎么改?
是不是先要通过DNS转换为IP地址。
 
后退
顶部