(接上一篇)
老程序运行一段时间后,相比较原来的状况,稳定多了。但时不时的还会有客户反映,程序有时会假死。我又反思了一下,原因在于:用户和服务器之间的连接,由于各种原因断掉,就会出现这样的情况。原先客户量才几十,现在客户量多了,scktsrvr 模式的弊端难以解决。先折中处理下吧,毕竟用户体验度第一,以后想法改成 DataSnap。
折中处理方案如下:
在客户端程序的主窗口中加了一个 TTimer。每当用户登录后,激活TTimer,如果用户长时间不操作数据库,到了指定时间(如5分钟)就关闭 scktsrvr 连接。当用户再次操作数据库时,重新连接。当然,重新连接会显得速度稍慢,但很少会出现死屏现象了。