2017-02-22 63 views
0

我正在使用websockets編寫文件傳輸程序,有沒有什麼辦法可以使用多處理來提高速度?例如,使用多個進程在兩臺計算機之間創建多個WebSocket,將文件分成多個部分,並通過每個進程發送每個部分,這是否會提高傳輸速度?使用多處理的Websockets

回答

1

不,你可能會造成不必要的開銷。 A和B之間的帶寬將由路徑中最慢的連接段定義,無論啓動多少個進程,它都不會改變。

另一件事是,如果您將文件部分從不同的位置獲得,並避免常見的最慢段,就像P2P應用程序一樣。

這您可能感興趣的:https://www.howtogeek.com/141257/htg-explains-how-does-bittorrent-work/

例如,如果你有一個56K的連接,在你把多少地方的文件部分不管了,你的下載將被限制在56K。如果你有一個100Mb的局域網,但你的鄰居是56K,你只能從56K下載他的文件部分。如果10Mb線上的另一個鄰居正在提供文件,現在可以下載10Mb + 56K的部分,依此類推。如果你得到另一個1Gb線路的鄰居,你將能夠以100Mb下載,這是你的線路的最大值。如果您的56K鄰居允許您與另一個瘋狂的100GB線路鄰居聯繫,那麼您仍然會被限制爲56K。