我的程序有一个线程,是用来不停的连接服务器,开始的时候连几十次没问题,不过开久了,可能连了几百,几千次后吧,就停止不动了,我想可能是阻塞的原因,程序就死在那里不动了,我是用下面的函数连接,请问怎样才能解决连接时阻塞问题?function Connect_Server(host:string;Port:integer):integer;
var TimeOut,i:integer;
    p:^LongInt;
    phe:pHostEnt;
    sin:sockaddr_in;
begin
 sin.sin_family:=AF_INET;
 sin.sin_port:=htons(Port);
 phe:=gethostbyname(pchar(host));
    if phe<>nil then
    begin
     p:=Pointer(phe^.h_addr_list^);
     sin.sin_addr.s_addr:=p^;
     end
     else begin
     i:=inet_addr(PChar(Host));
     if i<> -1 then  sin.sin_addr.S_addr:=i
     end;
 Result:=socket(PF_INET,SOCK_STREAM,0);////////下面解决阻塞的处理不起作用///////
 TimeOut := 60000;
 setsockopt(Result, SOL_SOCKET, SO_RCVTIMEO, pchar(TimeOut), sizeof(TimeOut));
/////////////////////////////////////
 if (Result=INVALID_SOCKET) then Exit;
 if Connect(Result,sin,sizeof(sin))=SOCKET_ERROR  then
 begin
 form3.TeThemeListBox1.Items.Add('用户连接服务器错误!');
 Exit;
 end;
end;