如何在有客户端连接的情况下关闭服务端?

                            
使用INDY10的TCPCLIENT与TCPSERVER控件进行通讯。发现当有TCPCLIENT连接的情况下,TCPSERVER端关闭总是出错。   
   
  我在FORMCLOSE中使用了下面代码:  
   
  var   i,   j:   integer;  
  begin  
      j   :=   idtcpserver1.Contexts.locklist.Count;  
      idtcpserver1.Contexts.UnlockList;  
   
      if   j   >   0   then  
      begin  
          for   i   :=   0   to   j   -   1   do  
          begin  
              threadlist   :=   idtcpserver1.Contexts.LockList.Items[i];  
   
              if   threadlist.Connection.Connected   then  
                  threadlist.Connection.Disconnect;  
              threadlist.Data   :=   nil;  
              idtcpserver1.contexts.LockList.Remove(threadlist);  
   
              idtcpserver1.Contexts.UnlockList;  
          end;  
      end;  
   
  end;  
   
  仍然出错:raise   exception   class   EIdclosedsocket   with   message   'Disconnected'  
   
  另:我设置UDPSERVER的ACTIVE属性为FALSE时,会出现SOCKET   ERROR   10004   Interrupted   function   call   错误。

查看回复

相关问题