想做一个类似 qq 局域网 P2P 传大文件的东西,有没有成熟组件?

2019-05-26 14:36:29 +08:00
 VensonEEE

语言 java ; 自己写的老丢包,MD5 完整性老过不去,容错性不高。 求推荐

4234 次点击
所在节点    Java
26 条回复
VensonEEE
2019-05-26 19:41:15 +08:00
@winglight2016 用过 FTP 服务器,人多了通过中转很慢,大文件偏多,也不好清理
lihongjie0209
2019-05-26 19:58:46 +08:00
@VensonEEE
ftp 慢是因为你的局域网慢


至于说清理, 类似保留 7 天的这种一个定时任务搞定
runtu2019
2019-05-26 21:26:49 +08:00
自己写不完善主要还是传输协议问题吧,用现成的传输协议库应该没有问题
WebDAV,ftp,scp,smb
java 关于这几方面的库还是挺多的
如果两端都是 linux 的话,可以用 scp 协议
xiangyuecn
2019-05-26 21:44:52 +08:00
“传大文件”。。“语言 java ; 自己写的老丢包”

既然是自己写的,稍微改改:

分片,每片 10m,2 个线程并行发数据,每片单独校验 hash,发完最后一片再校验一遍整个文件的 hash

注:接收端创建一个同等大小的大文件,收到数据就写入到对应位置,省去了合并文件这个慢操作。

(原生支持断点续传)
ddup
2019-05-27 09:55:38 +08:00
飞秋
winglight2016
2019-05-27 11:40:52 +08:00
@VensonEEE 带宽有限的话,点对点也解决不了多少速度问题。还有个办法就是用 btsync,这个付费版本好像支持 API 调用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/567770

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX