Delphi TIdTcpServer多客户端定时请求连接、发数据,取固定几个客户端上传数据时CPU占用率高怎么解决? 30

使用Delphi2009Indy10.1.1.1版本,22个客户端自动隔段时间通过管理机向我发送连接请求,我已在OnConnection中DisConnect不用的客户端... 使用Delphi 2009 Indy 10.1.1.1版本,22个客户端自动隔段时间通过管理机向我发送连接请求,我已在OnConnection中DisConnect不用的客户端15个(客户端仍然会发送连接请求),读取固定7个客户端向我发送的数据。我需要对数据进行译码、存储、显示。但CPU占用率仍然很高,基本在10%——50%,。客户端通讯方式已固定,我如何修改自己的代码,以减小CPU占用率?
我怀疑CPU占用率高和读取数据这个过程和客户端连接请求应该有关系。
展开
 我来答
百度网友c161d43c7
推荐于2017-07-25 · TA获得超过1776个赞
知道小有建树答主
回答量:1227
采纳率:69%
帮助的人:269万
展开全部
检查CPU占用高的代码是哪一段,逐步注释后来查看哪段代码占用CPU即可。优化该段代码。
理论上,你才22个客户端,在socket上应该不会消耗太多CPU。

可能是你的解码上消耗较多CPU吧?
追问
抱歉写错了。我用的是ReceiveBytes读数据。
tippchlj
2014-09-29 · 超过16用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:42.3万
展开全部
对数据进行译码、存储、显示增加临界区试试。
追问
我现在采用最简单的,使用ReceiveBytes接收到数据,然后以十六进制字符显示在demo中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式