在有数据传输时,如果clientsocket关闭,那serversocket端的程序就是弹出:"远程主机强迫关闭了一个现有的连接" 这个错误.如何处理这个错误呢,即当强迫关闭socket时,另一端不要弹出窗口,而用写日志方式记录错误就可以?谢谢!

解决方案 »

  1.   

    如这种错误,我没有碰到过,你可以在OnDisconnect里写事件,告诉服务器你要CLOSE了,比如:'00005$00000',服务器收到‘00005$00000'的时候也Close该客户的连接
      

  2.   

    可是我现在的情况是:
    Socket还有数据在传送,比如,正在循环传送50条记录,但在第10条一端被强迫退出,这时就会出错,这种情况可以在OnDisconnect里写事件处理吗?
      

  3.   

    数据接收有一个WAIT等待过程.你在这里加一个判断是否断开.
    代码就省略了.可以看DELPHI自带的多线程实例
      

  4.   

    我程序没有用多线程做,可以用你说的"一个WAIT等待过程"来做判断吗?
    如果可以,得怎么做,谢谢!
      

  5.   

    在错误事件里边写上ErrorCode:=0;就没问题了
      

  6.   

    如果数据量大的话,最好使用阻塞模式通讯。
    不过楼上令ErrorCode:=0也是个不错的方法,确实可以避免弹出错误信息,但有“掩耳盗铃之嫌”。开个玩笑。 ^_^