• [^] # Re: datachannels

    Posté par (site web personnel) . En réponse au journal dl.center : partage de fichier entre périphérique. Évalué à 10.

    Mieux encore, utilise webtorrent. Ça passe par WebRTC donc c'est aussi de navigateur a navigateur. Et c'est suuuuper simple a utiliser, regarde l'exemple donne sur la doc du packet npm:

    Cote envoyeur:

    var dragDrop = require('drag-drop')
    var WebTorrent = require('webtorrent')
    var client = new WebTorrent()
    // When user drops files on the browser, create a new torrent and start seeding it! 
    dragDrop('body', function (files) {
     client.seed(files, function (torrent) {
     console.log('Client is seeding:', torrent.infoHash)
     })
    })

    Cote recepteur:

    var WebTorrent = require('webtorrent')
    var client = new WebTorrent()
    var magnetURI = '...'
    client.add(magnetURI, function (torrent) {
     // Got torrent metadata! 
     console.log('Client is downloading:', torrent.infoHash)
     torrent.files.forEach(function (file) {
     // Display the file by appending it to the DOM. Supports video, audio, images, and 
     // more. Specify a container element (CSS selector or reference to DOM node). 
     file.appendTo('body')
     })
    })

    Jette un coup d'oeil sur https://instant.io, ça fait plus ou moins la même chose sauf qu'il faut donner le lien magnet a l'autre personne. Si tu mélanges ça a ton logiciel qui partage automatiquement les ressources pour tous les clients qui ont la même IP publique, tu peux te débrouiller pour envoyer le lien magnet a chacun directement, et roulez jeunesse.