我现在遇到这个问题,在用ClientSocket的时候,遇到当网络突然之间断开后,用ClientSocket发送数据,发送后大概停了4、5分钟后,ClientSocket.Active才变为False 。
怎么会停这么长时间呀?以前我记得大概1分钟左右Active就变为False了。
这是怎么回事??怎么来解决这个问题??是不是前面ClientSocket的资源没有释放呀。
高手们帮我看看吧!!非常感激!!

解决方案 »

  1.   

    特别当非正常关闭断开ClientSocket连接时,资源的释放情况如何??怎样释放的?
    上面我说的这种情况是怎么回事呀?如何来解决这么长时间?
      

  2.   

    在遇到网络异常时,你需要作断开处理,事实上已经与服务端断开.最好是socket Close一下. 俺认为较好的方法是只要socketError就,socket.close
      

  3.   

    断开是不是触发ClientSocketDisconnect事件或ClientSocketError事件吗?
    能不能在这里写处理代码呢?
      

  4.   

    有没有人知道,delphi7 的 socketconnection 在 client端的时候,怎样捕捉由于 scksrv 的 inactive timeout 产生的错误?我想把错误显示改为自己定义的提示?
      

  5.   

    默认情况下240秒后,释放资源,该clientsocket打开的端口可重用,可以修改注册表,自己到windows的网站上去找,买个关子