Eri*_*c G 3 delphi advantage-database-server
我有一个与优势数据库一起使用的Windows服务,偶尔会进行一些http调用.在极少数情况下,这些电话可能会很长.调整我的数据库连接超时.我没有使用数据模块或任何东西.只需手动创建连接.
我的主要问题是,如果我暂时没有使用它,通常会阻止连接超时?TAdsComponents是否会以某种方式发送在后台调用的保持活动消息?这是依赖于vcl所以我在服务中没有这个吗?不知何故,我觉得创建一个线程来进行我的http调用,并且在主线程中检查它每隔几秒钟完成一次会阻止连接死亡.这是真的吗?
是的,有一个你想要的keepalive机制.客户端(对于所有通信类型,TCP,UDP,共享内存)每隔一段时间向服务器发送一次"ping",以使服务器知道连接仍然存在.keepalive ping的频率基于服务器配置参数CLIENT_TIMEOUT.使用默认设置,我相信keepalive ping每30秒发送一次.
keepalive逻辑在一个单独的线程中运行,该线程由处理通信的代码启动.换句话说,它不依赖于任何VCL组件; 如果您有与服务器的连接,那么该线程应该正在运行.
检查连接是否超时的一种方法是查看Advantage错误日志.对应于超时连接应该有7020个错误.
一些可能导致超时连接的想法包括:
| 归档时间: |
|
| 查看次数: |
853 次 |
| 最近记录: |