Domanda

Ho cercato su Google e ancora non riesco a trovarlo.Alcune persone dicono:ecco qua, usalo e basta.Altri sostengono che abbia alcune restrizioni che non ti permettono di usare p2p nel modo desiderato in Flash.

Quindi, ecco una semplice domanda: è possibile implementare un'applicazione Flash10 che utilizzi alcuni dei file torrent esistenti per trasmettere video/audio direttamente nel browser dell'utente?

Se no, perché?Esiste una soluzione possibile per questo "no"?Se sì, quali sono le difficoltà di attuazione e perché nessuno l'ha ancora fatto?

È stato utile?

Soluzione

La risposta è praticamente no...beh, è ​​proprio no, a dire il vero.
@drudru ha sottolineato la tecnologia giusta per flash p2p, ovverostrato.

Flash p2p si basa su RTMFP, che a sua volta si basa su UDP.In realtà, il flash vincola una porta, ma questo proviene dall'interno.Non esiste alcuna API per farlo manualmente.

RTMFP consente fondamentalmente due cose:

  1. Streaming UDP (inaffidabile, ma veloce) per video e audio.Dal lato Flash puoi pubblicare solo lo streaming della videocamera e del microfono.Dal server, quasi tutto.
  2. Effettuare chiamate remote all'altro endpoint della connessione p2p.Questo può essere utilizzato per trasferire dati.Questa comunicazione è protetta, vale a direl'ordine e l'integrità del pacchetto vengono mantenuti dal flash player.

Il p2p si basa sui punchthrough NAT.Stratus stesso è il server di introduzione.Inoltre, per motivi di sicurezza, una connessione p2p significa anche che entrambi i client devono avere una connessione TCP inattiva (se ricordo bene) al server.Immagino che ovviamente vengano trasmessi un po' di dati, ma non il carico utile.

Tuttavia, il protocollo torrent è molto diverso da questo.Pertanto, questa non è un'opzione.Potresti creare un protocollo equivalente sopra RTMFP, decodificare il servizio stratus (o attendere finché non sarà open source).Questo potrebbe ovviamente essere utilizzato anche da client non flash.Ma ancora una volta non sarai in grado di guardare i dati trasmessi come video, poiché otterrai come parametro una chiamata al cliente del tuo NetStream, probabilmente a ByteArray.E non puoi riprodurre ByteArrayS.Potresti scrivere client non flash, che pubblicano video come flusso, ma sarebbe lontano da quello che volevi, immagino.

Se vuoi davvero fare qualcosa del genere, hai bisogno di Java.Puoi firmare applet Java e, se l'utente accetta il certificato, avrà accesso praticamente illimitato, ad es.potresti vincolare le porte.Dato che Java può eseguire UDP, potresti avere un'applet Java, che esegue il torrenting (magari usa semplicemente la codebase Vuze) e se vuoi davvero visualizzarlo in flash (che a sua volta richiede flv), allora potresti mimare un file locale " Flash Media Server" e pubblicare il video su localhost:someport.Ma in realtà, il flash mi sembra ridicolmente complicato e inutile.Piuttosto prova a riprodurre con Java, che si spera abbia un'opzione per farlo in modo nativo.

Altri suggerimenti

Flash non consente di ascoltare su un socket per le connessioni in entrata. Questo sarebbe rendono davvero difficile lavorare con torrenti esistenti. Date le questioni di sicurezza intorno a questo, non vedo che succede.

Adobe, tuttavia, ha iniziato la propria versione di un sistema P2P chiamato Stratus. Si può leggere su che qui http://labs.adobe.com/technologies/stratus/

Tutte queste informazioni non è aggiornato ora.

Hmmm ... che è una proposta interessante, solo a mantenere il file scaricato nella memoria di Flash. Credo che sia certamente possibile, ma probabilmente lento e si sarebbe limitato a poche centinaia di megabyte.

EDIT:. Non è possibile perché non si può ascoltare solo le porte che utilizzano Flash, il browser non ha quel tipo di capacità

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top