DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jsuguo
今日帖子: 27
在线用户: 24
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 lr46752881 (Anuo) ★☆☆☆☆ -
普通会员
2023/3/15 15:46:13
标题:
RTC三层控件RtcHttpClient的坑与解决! 浏览:1265
加入我的收藏
楼主:  先说废话~~这款老牌控件使用起来很方便,特别自带TRtcValue万能类型体使用起来可以自由切换json和RTC数据结构,自由度很高。
根据官方自带的demo在界面上放置一个RtcHttpClient和RtcClientModule 就可以使用各种远程函数了。
正常使用没发现任何问题了,如果长时间客户端不关闭的情况下,调用频率高了就发现各种诡异的报错!

然后我就想到idhttp这个控件也有这个毛病,然后就动态创建RtcHttpClient来使用,发现很多报错问题都能解决了。但是时间久了也会报错了。
 try
   myRtcHttpClient:=TRtcHttpClient.Create(nil);
   myRtcHttpClient.Connect();
  finally
   
    myRtcHttpClient.Free;
 end;
然后分析了控件源码发现一个问题。
        Inc(ClientConnection_Count);
        Inc(TotalConnection_Count);
调用   myRtcHttpClient.Connect(); 增加一个链接计次,然后Free不能直接减掉计次。
  RTC_CONNECTION_LIMIT:integer=50000;
如果这个计次超过50000就无法继续使用了,我以为free之后就会断开链接少计次。

然后代码再修改下free之间 先断开链接,就稳定运行了,包括做频率高的心跳包和线程里面高频的访问都没问题了

 try
   myRtcHttpClient:=TRtcHttpClient.Create(nil);
   myRtcHttpClient.Connect();
  finally
     myRtcHttpClient.Disconnect;
    myRtcHttpClient.Free;
 end;
----------------------------------------------
123
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/15 16:57:28
1楼: 如果是 HTTP 的话,为什么不直接用 WebService ?
----------------------------------------------
-
作者:
男 dacsd (ddd) ★☆☆☆☆ -
盒子活跃会员
2023/3/15 17:06:53
2楼: 点赞
----------------------------------------------
-
作者:
男 szlbz (秋风) ★☆☆☆☆ -
盒子活跃会员
2023/3/15 22:38:53
3楼: 谢谢分享
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2023/3/18 8:51:52
4楼: 谢谢分享
----------------------------------------------
只有偏执狂才能生存!
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/18 21:11:33
5楼: 谢谢分享,感觉RTC比datasnap复杂,而且不如datasnap功能强大,但是跨平台是亮点
----------------------------------------------
-
作者:
男 ghs_79 (ghs) ★☆☆☆☆ -
盒子活跃会员
2023/3/20 8:46:58
6楼: 这个问题遇到过,没找到原因,看了此文才知道原因。感谢分享
----------------------------------------------
Delphi爱好者。
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/5/6 18:14:30
7楼: RTC开源跨平台,效率高,推荐使用。
建议使用短连接,即取数据时连接取后断开,避免客户端被服务端剔出后界面死机。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS