使用 Indy 测量网络流量

2024-03-02

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

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

在我看来,这是非常丑陋的,因为这些流量更新将分布在我的代码中,并且也相当复杂。

有什么建议么?

感谢您的帮助。


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

的文档应该是一个很好的起点。还有一个非常简单的例子here http://www.atozed.com/indy/Demos/10/index.EN.aspx关于如何在运行时创建和连接拦截。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Indy 测量网络流量 的相关文章

随机推荐