|
|
导航: |
论坛 -> 移动应用开发
斑竹: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已成必配 |
作者: |
|
2023/11/2 16:11:04 |
1楼: |
你不应该使用数据感知控件在手机(通过网格与服务器联接)的应用中,当需要查数据时,可通过HTTP发请求,而返回数据。
----------------------------------------------
-
|
作者: |
|
2023/11/2 16:25:08 |
2楼: |
在移动开发中,推荐的做法是使用 THttpClient一类的组件,使用https协议,传输json创建THttpClient组件有一个OnRequestError事件。当连接时间超过设置时间时,触发,在该事件中引用计数,确定是否重连接及重连次数。实现前后端完全分离。广域网中尽量不要去长链接。
----------------------------------------------
-
|
作者: |
|
2023/11/2 16:53:51 |
3楼: |
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
呆湾傻冒
|
作者: |
|
2023/11/2 19:08:15 |
4楼: |
断线是firedac,如果超时了会主动断开连接数据库。你就是设再长也不会永久连接。 解决的办法是使用短连接,即用即连,并使用连接池。
----------------------------------------------
-
|
作者: |
|
2023/11/3 9:30:29 |
5楼: |
最好后端用RestAPI Web服务器,做成接口供前端调用. 非要这种两层的方式,就每次操作数据库时先打开再关闭连接.
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
|
作者: |
|
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,终于从菜鸟升级成老菜鸟
|
|