开发者

Using C# what is the most reliable way to calculate network bandwidth speed?

Using C# what is the most reliable way to calculate network bandwidth speed?

I've found a few examples using NetworkInterface, Performance Counters, native Win32 code, etc. but they all provide different results and none seem to match what other, already existing, tools are showing.

Any advice 开发者_高级运维on the most reliable method to calculate network bandwidth speed in C#?

Edit: To clarify I'm looking to know how much bandwidth a specific interface is currently consuming.


Same Question:

Try using the System.Net.NetworkInformation classes. In particular, System.Net.NetworkInformation.IPv4InterfaceStatistics ought to have some information along the lines of what you're looking for.

Specifically, you can check the bytesReceived property, wait a given interval, and then check the bytesReceived property again to get an idea of how many bytes/second your connection is processing. To get a good number, though, you should try to download a large block of information from a given source, and check then; that way you should be 'maxing' the connection when you do the test, which should give more helpful numbers


Using C# what is the most reliable way to calculate network bandwidth speed?

The most realistic way would be to periodically send/download some small test file to/from a knowingly very fast server and notice the time it takes.


Another way of doing this - albeit it may appear to be cheating as such - create a hidden process using 'netstat -e X' where X is an interval for example, 'netstat -e 5' with the output stream redirected and monitor the figures under the heading 'Received' and 'Sent'... what do you think?

Hope this helps, Best regards, Tom.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜