当前位置:  开发笔记 > 运维 > 正文

使用Indy测量网络流量

如何解决《使用Indy测量网络流量》经验,为你挑选了1个好方法。

我正在使用TIdTCPCmdServer来处理与客户端应用程序的所有通信.我希望我的服务器记录所有类型的东西,包括网络流量.有没有简单或聪明的方法来查看TCPCmdServer实际收到和发送了多少字节?我只能想到代码

ASender.SendReply;
Inc (FTraffic, Sizeof (ASender.NormalReply.Code) +
               Sizeof (Char) * ASender.NormalReply.Text.Length));

这在我看来非常难看,因为这些流量更新会在我的代码中传播,并且相当复杂.

有什么建议?

谢谢你的帮助.



1> mghie..:

查看Indy的拦截类.您应该能够创建一个自定义拦截类来覆盖Receive()和Send()方法,并且除了调用基类的方法之外,还可以实现流量计算.已经有拦截类来进行日志记录,您可以以相同的方式连接自定义类.

TIdConnectionIntercept的文档应该是一个很好的起点.还有一个很简单的例子,在这里就如何创建并在运行时连接拦截.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有