VensonEEE
V2EX  ›  Java

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

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

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

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


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

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

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

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

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