上传一个很大的文件,用什么方法传的最快?
一个服务器端,一个客户端!
现在要在客户端传一个东西到服务器端,大约有20-40G,用什么方法才更实现更有效率的传送?
------解决方案--------------------你这样没得搞吧。。
会挂掉的~~~
------解决方案--------------------说的不清楚,是用代码实现,是网络,还是局域网
------解决方案--------------------肯定要挂。
------解决方案--------------------用移动硬盘拷当然最省事啦~~
要是利用程序发送可以模仿迅雷啊
把文件分成几个小块,开多个线程进行发送。在发送的同时还要给数据加上校验码等等,在接受的时候需要对文件进行校验,以及再发生网络错误后进行断点续传,最后再把小块的数据进行整合。
------解决方案--------------------拿移动硬盘拽吧 做人不带这么懒的
------解决方案--------------------FTP吧!!!可以的。我用FTP都可以进行2地的资料换来换去!
------解决方案--------------------最简单就是FTP咯,去找找JAVA ftp实现吧
------解决方案--------------------网络套接字变成,利用读一点写一点的方式来完成,先在客户端获得文件大小、md5散列值(用于断点传输),然后先将它们发送到服务器,然后再将文件主体发送到服务器。服务器端接收到文件大小和md5散列值后,先用md5值与已有未下载完成md5散列值进行比对,如果没有从头读,如果有则从断点开始读取。
------解决方案--------------------P2P最有效率,参考java p2p框架吧
------解决方案--------------------
------解决方案--------------------讯,讯,迅雷!
------解决方案--------------------顺丰
------解决方案--------------------顺丰下午16:00收件,转天8:00基本能送到,
带宽为40g*1024*1024/(16*3600) = 728.18KB/s
对于天朝的网络环境,这个带宽相当可观了
------解决方案--------------------下载一个文件分隔器,把大文件分为小文件。之后就由你处理了。
用压缩软件的分卷压缩也可以把大文件压缩为一个个的小文件。
------解决方案--------------------多线程+断点续传吧。
------解决方案--------------------1、首先分割文件
2、多线程传送
3、server端不要直接读入内存,会挂掉的
------解决方案--------------------P2P
------解决方案--------------------用程序模拟ftp直接传就行了,什么多线程,什么分割,没啥用。
如果网络不断,或者对方ftp服务器支持断点续传,那么分多个可能对网络带宽资源抢占有点效果。
如果是专用网,或者局域网,没啥效果。
------解决方案--------------------正好我也想问这个问题
------解决方案--------------------