首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

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

  •  
  •   VensonEEE · 149 天前 · 2545 次点击
    这是一个创建于 149 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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


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

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

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

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

    (原生支持断点续传)
        25
    ddup   148 天前
    飞秋
        26
    winglight2016   148 天前
    @VensonEEE 带宽有限的话,点对点也解决不了多少速度问题。还有个办法就是用 btsync,这个付费版本好像支持 API 调用
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2870 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 11:40 · PVG 19:40 · LAX 04:40 · JFK 07:40
    ♥ Do have faith in what you're doing.