UDPServer: TIdUDPServer为什么
 self.UDPServer.Active := false;
 self.UDPServer.Action := true;
客户端在连接时发送信息时会弹出
Socket Error #10054 
错误!这问题没人遇到过?????
这问题没人遇到过?????
随便一个简单的测试就出现该问题了!
这问题没人遇到过?????
这问题没人遇到过?????
随便一个简单的测试就出现该问题了!
这问题没人遇到过?????
这问题没人遇到过?????

解决方案 »

  1.   

    self.UDPServer.Active := false;
    远程主机强制关闭了连接,客户端又怎么能连接上?
      

  2.   

    更正
    self.UDPServer.Active := false;
    self.UDPServer.Active := true;
      

  3.   

    谢谢
    chinasun2003(Brave)
    不是这问题  
     
      

  4.   

    当用ClientSocket/ServerSocket建立TCP连接时,如果其中通讯的一方断开连接时,
    会在另一方产生一个OnError事件,比如,用ClientSocket主动建立连接后,服务器
    在进行一定的处理后,返回给ClientSocket一些数据后关闭Socket。这时,在ClientSocket
    会产生10054(被远端服务器强行关闭的错误)
      

  5.   

    补充:
    因为Socket支持回调(CallBack),
    所以当服务器异常时,
    会将信息会传到客户端
      

  6.   

    自己测试一下,在Client还没有连接之前
    先打开服务 UDPServer.Active :=true;,
    关闭UDPServer.Active := false,
    再打开 UDPServer.Active := false;
    Client 开始连接并发送消息
    就会出上述错误!
      

  7.   

    补充一点:
    控件Indy的 TIdDUDPServer
    客户端没有连接之前
      

  8.   

    原来是Indy控件的bug, 8.0.25升级到9.0.14没问题了!