我的问题主要是关于代码优化(目前)我创建了一个网络监视器来监视 PC 上的不同连接,我所做的是我在堆栈的第 3 级(网络级)嗅探数据包,之后捕获数据包,我应该在 UI 上为每个连接创建一个对象,我目前正在做的是查看程序运行时每秒发送的总消耗带宽和总数据。这是代码的那部分:
temp= packet_rtxt.TextLength;
tempdr = temp / 1024;
dr_txt.Text=tempdr.ToString();
totaldata = totaldata + temp;
totaldatadisp = totaldata;
packet_rtxt.Text = "";
//unit
if (totaldata < 10485760)
{
if (totaldata < 10240)
unit.Text = "bytes";
else
{
totaldatadisp = totaldatadisp / 1024;
unit.Text = "KBs";
}
}
else
{
totaldata = totaldatadisp / 1048576;
unit.Text = "MBs";
}
test.Text = totaldatadisp.ToString();
tds.Enabled = true;
}
所以到目前为止我所做的是将捕获的数据包写到富文本框中,获取该 rtxt 的长度并将其添加到总数据的计数器中,获取长度并将其用作数据速率,然后清除 rtxt用于下一位数据。接收到的总数据部分工作正常,但是 BPs 部分适用于少量数据,如果数据速率超过 10kbps(在我的电脑上),我应该尝试优化整个代码,还是有其他一些东西?方法(记住我需要监控每一个连接),还是我需要使用不同的 UI 控件?我应该专注于优化还是使用新方法?
提前致谢