2015-08-23 19 views
6

Ho letto su WebRTC e sembra molto promettente. Volevo creare un semplice gioco lan che colleghi automaticamente le persone sulla stessa rete. Sebbene potessi trovare persone che chiedono qualcosa di simile, e le risposte che dicevano loro che era possibile, non sono riuscito a trovare alcun tutorial chiaro su come farlo.WebRTC sulla rete locale?

Sono tuttavia molto nuovo a WebRTC e alla programmazione Web in generale. Quindi forse non so cosa cercare.

Quindi, come posso connettere automaticamente le persone che utilizzano WebRTC su una rete locale senza che nessuno debba eseguire un server separato o connettersi a Internet? Dovrebbero essere in grado di aprire un file html sul loro computer e collegarsi a tutti gli altri facendo così sulla stessa rete, anche quando non c'è internet.

Grazie!

+2

WebRTC è [non un meccanismo di rilevamento] (http://stackoverflow.com/questions/29032884/why-signaling-server-needed-for-webrtc/29056385#29056385), a meno che non si contenga cosa [sharedrop.io] (https://www.sharedrop.io), che utilizza ingegnosamente WebRTC per trovare le persone che si connettono ad esso che si trovano sulla stessa LAN, e quindi orchestra il trasferimento di file solo LAN tra di loro. Perché la restrizione "no Internet"? A meno che tu non sia in una baita nei boschi, proverei qualcosa del genere. – jib

+0

@jib Ho provato sharedrop e sembra funzionare molto bene. C'è una spiegazione di come hanno fatto la loro scoperta su lan? –

+1

Probabilmente raggruppa le richieste tramite un indirizzo IP esterno, che sarà lo stesso da tutte le macchine sulla lan (ad esempio l'ip esterno del router). Inoltre, conosce l'indirizzo IP locale di ciascuna macchina tramite WebRTC. – jib

risposta

3

Almeno una macchina deve essere un server, nel senso che deve avere una porta aperta su cui è in ascolto. Questo è un fatto della vita con tutte le connessioni; quando una macchina apre una connessione, deve esserci un'altra macchina all'altra estremità che risponde. Senza questo, nessuna connessione può mai essere fatta.

Se si desidera avere una o tutte le macchine in ascolto su una porta, è possibile impostare WebRTC su una LAN. In questo caso, non avrai bisogno di STUN o TURN perché non c'è NAT traversal.

+0

Aha, ha senso.Un giocatore locale è l'ospite va bene. Come si può fare? Tutti i tutorial che sembra trovino un server remoto che utilizza STUN/TURN piuttosto che un host locale. –

+0

@ TheOddler Inizia da un'implementazione e un'installazione server esistenti sulla LAN. I peer dovrebbero essere in grado di connettersi alla LAN senza STUN/TURN. Una volta che hai funzionato, puoi capire come replicare la funzionalità del server con il tuo codice. È fondamentalmente una questione di passare i messaggi SDP tra i peer che si desidera connettere, che dipenderà da come dovrebbe funzionare la vostra applicazione. – mattm

2

WebRTC non può funzionare senza alcun tipo di meccanismo di segnalazione. Fondamentalmente, i tuoi clienti devono sapere almeno qualcosa l'uno dell'altro, e questo 'qualcosa' nei termini di WebRTC è un pacchetto SDP (Session Description Protocol). Dopo aver scambiato i pacchetti SDP, il motore WebRTC proverà a connettere i client nel modo più diretto.

Prova questo articolo: http://www.html5rocks.com/en/tutorials/webrtc/basics/

che vi darà comprensione di base di come funziona WebRTC, e vi sarà rispondere alla tua domanda te stesso. Parole chiave: segnalazione, STUN e TURN.

Buona fortuna!

2

Prima che due peer potessero stabilire una connessione diretta, entrambi dovrebbero scambiarsi con un insieme di dati (parametri di rete, configurazione dei media, protocolli utilizzabili, ecc.), In modo che possano capire come collegarsi tra loro. Possono eseguire questo processo utilizzando l'SDP (Session Description Protocol).

Quindi, è necessario un server di segnalazione nella rete che sia raggiungibile da ogni potenziale peer. Quando un cliente desidera connettersi alla "rete WebRTC", deve prima connettersi al server di segnalazione. Quindi, il server di segnalazione notificherà agli altri peer che ne abbiamo uno nuovo e tutti i peer scambieranno i dati con SDP tramite il server di segnalazione. Successivamente, i peer sarebbero in grado di stabilire una connessione diretta con il nuovo peer. Quando viene stabilita una connessione diretta, tutti i dati vanno direttamente tra i peer.

Problemi correlati