在.NET中確定可用帶寬的最佳方法是什麼?確定可用帶寬
我們有用戶可以從各種不同的遠程接入點(有線和無線)訪問業務應用程序,有時根據用戶的位置帶寬可能非常低。當應用程序運行緩慢時,問題可能是由於帶寬較低而不是其他問題。
我希望能夠運行某種服務,只要可用帶寬低於特定閾值就會警告用戶。
有什麼想法?
在.NET中確定可用帶寬的最佳方法是什麼?確定可用帶寬
我們有用戶可以從各種不同的遠程接入點(有線和無線)訪問業務應用程序,有時根據用戶的位置帶寬可能非常低。當應用程序運行緩慢時,問題可能是由於帶寬較低而不是其他問題。
我希望能夠運行某種服務,只要可用帶寬低於特定閾值就會警告用戶。
有什麼想法?
不能超越明顯下載已知大小和時間的文件需要多長時間。這樣做的缺點就是你需要浪費很多帶寬才能做到這一點。此外,如果您想要在吞吐量降至閾值以下時發出警報,則必須連續運行測試。
恕我直言,我會在一些地方表現不佳,因爲如果它確實發生,你無法做任何事情。
對不起。
如果您要傳輸數據,只需測量它。如果你想讓它獨立於服務器的速度,你也可以從某處下載一個引用對象。
有沒有簡單的方法來衡量帶寬,而不用實際使用它 - 這當然會餓死應用程序。請記住幾點:
1)實際上帶寬是問題還是延遲?您可以用比帶寬更少干擾的方式來測量延遲。
2)應用程序是否都從同一臺服務器(或至少是同一個網絡)運行?您可能會發現用戶將與網絡的某些區域建立良好的連接,但不會與其他區域建立連接。 (這很可能是最後一英里將是限制因素,但它不是總是的情況。)
不知道您的連接的確切性質或其使用方式,我知道有兩個選項。
MultinetGetConnectionPerformance(http://msdn.microsoft.com/en-us/library/aa385342(VS.85).aspx)
系統事件通知服務(http://msdn.microsoft.com/en-us/library/aa377538(VS.85).aspx)
無論是直接的.NET類,但可以在.NET中很容易實現。
看看他們兩個,看他們是否會爲你工作。
Roy