我正在使用websockets编写文件传输程序,有什么办法可以使用多处理来提高速度吗?例如,使用多个进程在两台计算机之间创建多个websockets,将文件拆分为多个部分并通过每个进程发送每个部分,这是否会提高传输速度?
答案 0 :(得分: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。