我負責編寫客戶端數據下載系統(在Linux上),該系統使用FTP或HTTP從外部合作伙伴下載太比特大小的數據到本地站點。我們公司的網絡管理員告訴我,我不能超過一定的帶寬。對我來說,實施這樣一個系統的最佳方式是什麼?現有的庫是否存在?如何實現FTP/HTTP的客戶端帶寬限制?
我願意寫我自己的FTP和HTTP客戶端(用C或Java在Linux上),但寧願留出的內核。我知道我可以限制FTP/HTTP客戶端調用套接字read()的速率,但如果服務器端調用write()的速度超過了我的限制,會發生什麼情況?
只要你使用的是TCP/IP,服務器將不會送東西比你讀書,我覺得快。在服務器可以發送另一個數據包之前,cliont必須確認一個數據包。 – YankeeWhiskey
謝謝。我忘了TCP的流量控制,所以這部分答案。但是我仍然在尋找實施節流的最佳方法。 – stackoverflowuser2010
閱讀內容,使用數據包大小來計算睡眠時間,然後重新閱讀。 – YankeeWhiskey