关于Indy的问题
用delphi7+Indy9.0.18开发的即时通信中出现这样一个问题:
平时运行都很正常,但隔两三天会出现客户端程序死掉的情况(没响应),去服务端看了下,连接是正常的(我在tcpServer的OnConnect事件中记录了客户端的IP和其他一些信息,服务端能正常显示刚连上来的客户端,所以连接应该是正常的),那么估计应该是客户端收不到服务端的信息,一直处在死等状态下,不知对否?
出现这种情况时所有客户端都会死掉,但只是重启一下服务就又都可以了(将TCPServer False后再重新激活)。
补充:
因为数据量不大,客户端用的是单线程。服务端建有数据库连接池处理并发的问题,服务端每个线程独占一个连接。
由于无法模拟这种死掉的情况,所以也不好跟踪,请各位大虾帮我分析下为何客户端会经常死掉,以及应该如何处理,不胜感激。