1、在servercontainer文件中,先增加一个private变量,
FConnections:TDictionary<TIdTCPConnection,TDSTCPChannel>;
2、在servercontainer1.datamoduleCreate(Sender:Tobject)中添加:
FConnections:=TDictionary<TIdTCPConnection,TDSTCPChannel>.Create;
3、在servercontainer1.DSTCPServerTransport1Connect中添加:
FConnections.Add(TIdTCPConnection(Event.Connection), Event.Channel);
Event.Channel.EnableKeepAlive(10000);//心跳包设置为10秒
4、在servercontainer1.DSTCPServerTransport1Disconnect中添加
FConnections.Remove(TIdTCPConnection(Event.Connection));
将Transport的KeepAliveEnablement设置成kaEnabled,然后设置KeepAliveTime和KeepAliveInterval两个参数,如果意外断线的话,能够在Transport的Disconnect事件中获得。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。