2017-04-07 79 views
0

我正在處理一個文件服務器程序(用C編寫),它將多個文件的內容傳遞給客戶機。文件服務器和客戶機都運行Linux。我想減少在服務器和客戶端之間傳輸文件的時間。文件服務器和套接字

我目前使用套接字來傳輸文件,每個客戶端使用一個套接字。如果我要爲每個客戶端使用兩個套接字,那麼文件傳輸的時間會減少嗎?請注意,硬件是這樣的,只有一條物理路徑到機器。

感謝鮑勃

回答

0

取決於什麼是你的瓶頸。一般來說,不會,兩個或更多的套接字不會加速傳輸,就好像一切正​​常實現一樣,您的瓶頸就是網絡本身。首先想到的是您的套接字發送/接收緩衝區的大小,因爲系統默認值通常很小(例如8KB)。嘗試增加服務器上的發送緩衝區並在客戶端上接收緩衝區。

如果你使用TCP,它已經很好地適應這種用例。仍然有一些已知的問題,例如長途使用脂肪通道。提供有關您的環境/實施的更多信息可以幫助您獲得更好的答案。