想做一个类似 qq 局域网 P2P 传大文件的东西,有没有成熟组件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
VensonEEE
V2EX    Java

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

  •  
  •   VensonEEE 2019-05-26 14:36:29 +08:00 4977 次点击
    这是一个创建于 2333 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    26 条回复    2019-05-27 11:40:52 +08:00
    ppddtt
        1
    ppddtt  
       2019-05-26 14:40:39 +08:00
    libtorrent?
    Malcolm
        2
    Malcolm  
       2019-05-26 14:43:32 +08:00
    路由器,群晖,U 盘,或者 50 块钱买个 16G 的傲腾,再或者共享一个文件夹,为什么要专门写个东西?
    VensonEEE
        3
    VensonEEE  
    OP
       2019-05-26 14:43:52 +08:00
    @ppddtt 老哥,是互相传文件,无服务器中转的那种。
    webdisk
        4
    webdisk  
       2019-05-26 14:45:21 +08:00
    VensonEEE
        5
    VensonEEE  
    OP
       2019-05-26 14:45:57 +08:00
    @Malcolm 阉割的网络环境,同事之间经常互传文件和小电影。飞秋又没有 Linux 版本...
    Fazauw
        6
    Fazauw  
       2019-05-26 14:54:45 +08:00
    正常什么 ftp,http,smb 就足够。非要 p2p 的话,搞一个内网的 PT ?
    danbai
        7
    danbai  
    PRO
       2019-05-26 14:57:47 +08:00
    飞鸽传书
    rb6221 /td>
        8
    rb6221  
       2019-05-26 14:58:27 +08:00
    ftp 就行吧
    fbcskpebfr
        9
    fbcskpebfr  
       2019-05-26 14:59:19 +08:00 via Android
    resilio sync 或者 syncthing
    VensonEEE
        10
    VensonEEE  
    OP
       2019-05-26 15:33:46 +08:00
    @danbai
    @janus77
    @ruimz 老哥们 ,局域网有一个综合事务软件 ,俺写的 ,已经集成了 oa、即时通讯等相关功能;就差这个了
    xsir2020
        11
    xsir2020  
       2019-05-26 15:41:44 +08:00
    ftp 组件现成的,你就相当于大家都离线传输了。
    oovveeaarr
        12
    oovveeaarr  
       2019-05-26 15:47:25 +08:00
    内网搭一个 tracker 或者走 dht 的 bt,实在不行还有电驴。
    muzhidianzi
        13
    muzhidianzi  
       2019-05-26 15:48:31 +08:00 via Android
    刚想说飞 Q 飞 Q 有 Linux 版本 刚用过
    lihongjie0209
        14
    lihongjie0209  
       2019-05-26 15:55:54 +08:00
    @VensonEEE 你在内网搞一个 ftp 服务器, 你的软件相当于客户端不就可以了
    winglight2016
        15
    winglight2016  
       2019-05-26 16:04:41 +08:00
    局域网有一个综合事务软件 ,俺写的 ,已经集成了 oa、即时通讯等相关功能这些功能,应该是有个服务器的吧,为什么必须实现点对点传输呢?
    chunchu
        16
    chunchu  
       2019-05-26 16:05:51 +08:00 via iPhone
    飞鸽传书?
    JingKeWu
        17
    JingKeWu  
       2019-05-26 17:44:50 +08:00
    webrtc 啊
    iozephyr
        18
    iozephyr  
       2019-05-26 17:50:51 +08:00 via Android
    python -m SimpleHTTPServer
    CSM
        19
    CSM  
       2019-05-26 18:10:36 +08:00 via Android
    组个 IPFS 集群?
    leafleave
        20
    leafleave  
       2019-05-26 18:10:59 +08:00 via iPhone
    强烈推荐 chfs.exe
    VensonEEE
        21
    VensonEEE  
    OP
       2019-05-26 19:41:15 +08:00 via Android
    @winglight2016 用过 FTP 服务器,人多了通过中转很慢,大文件偏多,也不好清理
    lihongjie0209
        22
    lihongjie0209  
       2019-05-26 19:58:46 +08:00
    @VensonEEE
    ftp 慢是因为你的局域网慢


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

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

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

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

    (原生支持断点续传)
    ddup
        25
    ddup  
       2019-05-27 09:55:38 +08:00
    飞秋
    winglight2016
        26
    winglight2016  
       2019-05-27 11:40:52 +08:00
    @VensonEEE 带宽有限的话,点对点也解决不了多少速度问题。还有个办法就是用 btsync,这个付费版本好像支持 API 调用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1028 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:40 PVG 02:40 LAX 11:40 JFK 14:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86