DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: wjy13061029975
今日帖子: 2
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/1 17:26:48
标题:
IdTcpServer的CPU占用高是不是BUG啊 浏览:1663
加入我的收藏
楼主: 几乎没写什么代码,默认的IdTcpServer控件一拖,
procedure TServerDataModule.DataModuleCreate(Sender: TObject);
begin
  IdTCPServer.Active := False;
  IdTCPServer.DefaultPort := 18280;
  IdTCPServer.Active := True;
end;

procedure TServerDataModule.IdTCPServerExecute(AContext: TIdContext);
begin
  Exit;
end;
多简单,啥也没干,别人一连上来程序占用,CPU马上升到近37%。客户端就几秒发个心跳而已。

以前也用这个啊,怎么没发现呢?
----------------------------------------------
-
作者:
男 xuchuantao (暗黑天使) ★☆☆☆☆ -
普通会员
2020/7/1 19:21:48
1楼: 心跳包几秒发一次?
----------------------------------------------
按此在新窗口浏览图片
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 1:04:57
2楼: 一个厂家的硬件就这样,本来说是心跳发了收到回包就会等段时间再发,事实是不管收不收到回包都几秒发一次,时间长了那个硬件还假死,假死了不就再发心跳了,但按道理收不到回包应该故障灯就亮,它也不亮。可见他们硬件本身就是有问题的。应该是BDQN生产的消防系统。他们同一个硬件还有的就是发不出心跳包和状态包,他们自己生产的配置客户端配置也没有任何反应,一定要在硬件的键盘上配。还出现了不发心跳但有时我会收到其它状态包。异常情况非常多。所以我才查我的软件的。用TCP调试工具代替我的服务端,事实是收不到他们有些设备的包的。
结果发现我的程序也有CPU占用高的问题。明天用TCP调试工具试下,代替他们设备试下CPU占用高不高
----------------------------------------------
-
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 1:20:29
3楼: 用TCP调试工具建了个服务收包,说是布了十几个设备,结果就七个能收到包,调试工具是没回包的,结果发现连上来的设备每个的发包表现都不一样,有的连上来收不到回包就一直发,有的连上来一个都不发,有的收不到回包就重建新连接再发,结果有的一台设备同时建了好多连接,我都被惊呆了。
----------------------------------------------
-
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 1:35:02
4楼: 我测了一下,新建了一个项目,窗口放IdTcpServer,设好端口,Active=true;
用调试工具一连,虚拟机上CPU直接到百分之五十几,没理由啊,我为啥没早发现?
难道是版本问题,我用的版本是10.3.2的啊,也不是什么老版本。
----------------------------------------------
-
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 2:13:50
5楼: 唉~~~把程序放了10.4下试了一下,问题没了,看来是我以前装的那个版本有问题
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2020/7/2 2:45:00
6楼: 那你原先装的是哪个版本呢?一共试了几个版本?到那个版本症状消失的?
----------------------------------------------
只有偏执狂才能生存!
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 3:50:27
7楼: 没搞好,原来我试10.4的时候没连上TCP所以CPU没占用,一连上CPU还是暴增
----------------------------------------------
-
作者:
男 hs_kill (lzl_17948876) ★☆☆☆☆ -
普通会员
2020/7/2 7:51:32
8楼: 换个server呗 干嘛非要indy的东西 serversocket/ICS 那么多选择了
----------------------------------------------
http://www.cnblogs.com/lzl_17948876/
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 8:10:48
9楼: 8楼你说得是不错啊,但这句话想想都像我问英语中有个语法感觉用起来不对,你说换日语吧,有点这感觉:)
----------------------------------------------
-
作者:
男 szyourname (szyourname) ★☆☆☆☆ -
盒子活跃会员
2020/7/2 9:11:47
10楼: 先抓包看一下
----------------------------------------------
-
作者:
男 hs_kill (lzl_17948876) ★☆☆☆☆ -
普通会员
2020/7/2 11:48:00
11楼: 就是你用一个山寨电脑各种蓝屏报错, 然后去查系统和软件问题, 而不是换一个正常的机器
----------------------------------------------
http://www.cnblogs.com/lzl_17948876/
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 12:21:46
12楼: 我问题解决了,说一下。这完全是我记性差导致的问题。
很久以前我就用idtcpserver了,以前做的项目也没问题,也不是说没有碰到这个开销问题,以前做的时候知道建个循环,再测下收到没,收到了处理,没收到sle ep一下之类的。这次做得比较复杂,就没抄代码而是重做了,sle ep之前加了判断跳出了。结果sle ep没执行到。关键是代码一看上去没问题,就忘了这里有个循环加sle ep的事了,重测时也对这本身就是个循环一点印象都没了。结果测了近二十个小时,查了一堆资料。记性差、概念不深刻,这种事不是第一次犯了。
ps: sle ep是关键字你们能信码?l连着发就发不上来。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2020/7/2 12:32:30
13楼: sleep
----------------------------------------------
(C)(P)Flying Wang
作者:
男 tiez (骑牛夜旅) ★☆☆☆☆ -
普通会员
2020/7/2 12:39:33
13楼: 关键我发现问题的时候还试了别的通讯控件比如TTcpserver之类的,这些都是要自建循环的,我越测越忘了这个是自带循环。前面不能直接跳出。
----------------------------------------------
-
作者:
男 szyourname (szyourname) ★☆☆☆☆ -
盒子活跃会员
2020/7/2 12:40:00
14楼: 丢,这代价太高了,哈哈
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2020/7/2 17:01:39
15楼: 没事写个博客呗,可以克服记性差的问题,而且利人利己
----------------------------------------------
只有偏执狂才能生存!
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/7/9 16:47:36
16楼: 以前碰到过的问题并且找到解决办法的,后来忘记了,再次碰到,再次掉坑里,再次花时间然后重新找到解决办法。类似的事情很多啊。解决这种事情的办法就是写博客。
----------------------------------------------
-
作者:
男 bjlg (蓝天) ★☆☆☆☆ -
盒子活跃会员
2020/7/9 17:14:12
17楼: 所以不要先怀疑别人的,首先看看是不是自己的问题
----------------------------------------------
http://delphi.icm.edu.pl/ftp/http://delphi-z.ru
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2020/7/10 18:42:15
18楼: 搞delphi的都上了年纪,写博客是好习惯,我现在凡是解决的技术问题都写博客。
----------------------------------------------
-
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2020/7/10 18:45:52
19楼: 按此在新窗口浏览图片
第一时间搜索自己的博客 然后才是其他引擎。。
我的博客只有我自己能看懂。。。。。。。。。。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 littlestone08 (littlestone08) ★☆☆☆☆ -
普通会员
2020/7/16 10:34:39
20楼: 死循环我也没有看出来,听楼主说自带循环才慢慢想起来是怎么回事.

唉,真是记忆力差了.
----------------------------------------------
我和我追逐的梦,擦肩而过
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS