DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: s_monkeys
今日帖子: 26
在线用户: 13
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 sxfgf (FC_FGF) ★☆☆☆☆ -
普通会员
2023/11/2 15:23:11
标题:
关于安卓App与数据库连接超时断开连接,这个大家是怎么处理的? 浏览:543
加入我的收藏
楼主: 用snap作为服务器,连接MS SQL ,手机通过4G/5G连接。一般等一会后,手机端App就与服务器失去连接,尝试conn time out 设置为9999999无效。在App中用定时器每20秒从服务器端查询一次,还是会断开连接。

请教,您是通过什么方式让手机端的App一直与服务器端连接不断开的?
----------------------------------------------
偶尔做做代码应付一下工作,却发现Delphi已成必配
作者:
男 glings (glings) ★☆☆☆☆ -
普通会员
2023/11/2 16:11:04
1楼: 你不应该使用数据感知控件在手机(通过网格与服务器联接)的应用中,当需要查数据时,可通过HTTP发请求,而返回数据。
----------------------------------------------
-
作者:
男 k3man (嗯哼) ★☆☆☆☆ -
普通会员
2023/11/2 16:25:08
2楼: 在移动开发中,推荐的做法是使用 THttpClient一类的组件,使用https协议,传输json创建THttpClient组件有一个OnRequestError事件。当连接时间超过设置时间时,触发,在该事件中引用计数,确定是否重连接及重连次数。实现前后端完全分离。广域网中尽量不要去长链接。
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
禁用账号
2023/11/2 16:53:51
3楼: ……
被禁用帐号,帖子内容自动屏蔽!
……

----------------------------------------------
呆湾傻冒
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/11/2 19:08:15
4楼: 断线是firedac,如果超时了会主动断开连接数据库。你就是设再长也不会永久连接。
解决的办法是使用短连接,即用即连,并使用连接池。
----------------------------------------------
-
作者:
男 doersoft (hnysoft.com) ★☆☆☆☆ -
普通会员
2023/11/3 9:30:29
5楼: 最好后端用RestAPI Web服务器,做成接口供前端调用.
非要这种两层的方式,就每次操作数据库时先打开再关闭连接.
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
作者:
男 changfenglee (葫芦老四) ★☆☆☆☆ -
普通会员
2023/11/4 9:41:55
6楼: 我目前用了一个最笨的办法,弄个定时器定期重连一下,可以保持一直连接

procedure TFrmData.Timer1Timer(Sender: TObject);
begin
    SQLConnection1.Connected:=False;
    SQLConnection1.Params.Values['HostName']:=ServerStr;
    SQLConnection1.Connected:=True;
end;

ServerStr是变量名称,在其它地方已经赋值

我也关注一下此贴,看看有没有好办法
----------------------------------------------
【个人签名】:玩了多年DELPHI,终于从菜鸟升级成老菜鸟
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS