★★★ClientSocket问题★★★(10分)

  • 主题发起人 主题发起人 thygw
  • 开始时间 开始时间
T

thygw

Unregistered / Unconfirmed
GUEST, unregistred user!
在使用ClientSocket过程当中,与ServerSocket建立连接并工作(发送数据)过程中,如果拔掉网线,ClientSocket会出现一个10053的错误!
我在ClientSocket1Error中拦截了这个错误并且使ErrorCode:=0;但是,当客户端工作并拔掉网线的时候,还是会弹出一个10053的错误提示,就是说ClientSocket1Error里的代码没有起到作用,但是其它类型的错误在ClientSocket1Error里都可以拦截的,为什么呢?
 
要用“try...except...end”吧。
 
在ClientSocket1Error里用“try...except...end”?没有搞错吧?
 
你是在调试状态下执行程序的吧?
 
不明白你的意思, 在服务端和客户端都有ERROR,都要处理啊!
 
TO Highpeak :不是
TO shabi :Server端我也有一个10053的错误拦截代码,但是,当网络断开时Server端没有触发ServerSocket1Error事件(根据事件里头的提示信息得出的结论)。

 
怎么会没有人来光顾呢?
 
为什么还是没有人呢?
 
我等了很久了!
 
大家不要这样了,我都已经是黔驴技穷了!
 
10053号错误你的拦截不了?可偶的就可以拦截啊。
 
:( 那只有老天知道了!

您有没有试试拔网线测试一下?
 
呵呵,为了证明,偶亲自把网线拔掉了,偶的程序一样捕获到了错误,插上网线又连上了 :)
 
呵呵,我也发现了问题差别:
当没有发送数据的时候,可以捕获到错误的!

但是,如果没有发送数据的话,还是捕获不了!

why?
 
TServerSocket/TClientSocket用的是TCP协议,TCP会自动判断连接是否断开的。
但TCP可能不是立即发现断开,也许要延迟一段时间。
 
我已经做过测试了,在10053错误出现之前,TCP连接还是没有断开的!
 
呵呵,算是可以结贴了!
 
感谢各位的参与!
 
后退
顶部