Indy10的idTcpclient问题(100分)

  • 主题发起人 主题发起人 hbxfwjww
  • 开始时间 开始时间
H

hbxfwjww

Unregistered / Unconfirmed
GUEST, unregistred user!
刚升级到Indy10,没想到idTcpClient的OnDisconnect事件只有在自己调用disconnect时才触发,从服务器端断开连接竟然没有触发.我需要在断开连接时做些事情的,它不会让我开个Timer一直查询是否连接吧?!
 
大家进来讨论下吧,言者有分,不然还结不了贴了...
 
如果是直接拔网线 估计不会触发 因为tcp超时默认可能是30分钟吧 我忘了

如果是服务器端发出断开申请,应该会触发吧,你可以看看Indy的源代码
 
好像只能使用心跳函数监测
我也在用Indy10,欢迎交流QQ:120254038
 
很简单,利用winsock2增加心跳就可以了.
 
回无欲则刚:
不是直接拨网线,是服务器端主动断开连接.源码已经看过了,idTcpClient的OnDisconnect事件只有在自己调用Disconnect时才会触发,真晕...
回pcmagic:
测试过了,idTcpServer/idTcpClient均用WSAIoctl加上winsock2的心跳检测,无效...
回weichao9999:
你的意思是不停的发包检测是否断开连接么?对拨网线之类的野蛮断开连接我用的是这个方法.但我现在的问题是正常的断开呀,以前用Delphi7自带的indy是有此事件发生的,郁闷ing...
再讨论下就结贴,还是言者有分:)
 
只有接受答案了
 
后退
顶部