delphi – 使用Indy测量网络流量

delphi – 使用Indy测量网络流量,第1张

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

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

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

有什么建议?

谢谢你的帮助.

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

TIdConnectionIntercept的文档应该是一个很好的起点.关于如何在运行时创建和连接拦截,还有一个非常简单的示例here.

总结

以上是内存溢出为你收集整理的delphi – 使用Indy测量网络流量全部内容,希望文章能够帮你解决delphi – 使用Indy测量网络流量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1272516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存