V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
VensonEEE
V2EX  ›  Java

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

  •  
  •   VensonEEE · May 26, 2019 · 5274 views
    This topic created in 2532 days ago, the information mentioned may be changed or developed.

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

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


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

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

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

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

    (原生支持断点续传)
    ddup
        25
    ddup  
       May 27, 2019
    飞秋
    winglight2016
        26
    winglight2016  
       May 27, 2019
    @VensonEEE 带宽有限的话,点对点也解决不了多少速度问题。还有个办法就是用 btsync,这个付费版本好像支持 API 调用
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2534 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 12:30 · PVG 20:30 · LAX 05:30 · JFK 08:30
    ♥ Do have faith in what you're doing.