2014-09-30 11 views
7

Sto lavorando a un progetto in cui ho bisogno della mia applicazione mobile per parlare al mio browser su un pc, in cui entrambi i dispositivi sono collegati via wifi. L'app inviava dati che sarebbero stati ricevuti dal browser del computer seguito da un'esecuzione di codice lato client. Il browser può quindi inviare un feedback.comunicazione peer-to-peer tra l'app mobile e il browser del pc

Il mio approccio iniziale consiste nel far parlare l'app con un endpoint che a sua volta parla al lato client del browser (javascript).

Quale potrebbe essere l'approccio migliore per farlo?

Aggiornamento

io non sono sicuro se Socket.io è una possibile soluzione in quanto richiede un server per essere ospitati. È possibile risolvere questo utilizzando le prese?

+0

sarebbe notevolmente più utile se potesse SEMPLICARE SEMPLICEMENTE CI WH CHE STAI CERCANDO DI FARE. Ad esempio, è quindi un gioco di corse automobilistiche? È un sistema di messaggi di testo? Coinvolge le immagini? Per favore basta indicare l'obiettivo! – Fattie

+0

Dupe .. http://stackoverflow.com/questions/20975622/peer-to-peer-between-desktop-and-mobile-app – Fattie

+0

Onestamente, sembra che tu stia cercando di hackerare insieme due cose che sono molto diverse . Un browser, nella maggior parte dei casi, è proprio questo: un visualizzatore web. Ultimamente si sta facendo sempre più l'elaborazione sul lato client per la navigazione web, ma senza qualcosa come un'applet Java, sembra che tu stia cercando di creare una relazione client <- server fuori da una relazione client-cliente. Se hai bisogno del PC per visualizzare le informazioni dal tuo telefono, ci sono modi molto più semplici per farlo e viceversa. –

risposta

4

Hai modificato la tua domanda per menzionare P2P. È abbastanza difficile ottenere PHONE TO BROWSER (cioè, per un impegno duro da 6 a 12 mesi-uomo di lavoro - e/o non è possibile). Tuttavia, nella maggior parte delle situazioni è possibile istantaneamente (ovvero "una riga di codice su ogni piattaforma") risolvere il problema utilizzando un servizio come pubnub. Proprio come nessuno ha più back-end e tutto è fatto con parse.com o game center, il networking come si parla ora è appena fatto con pubunb (o qualsiasi concorrente).

Questo è un problema di utilizzo estremamente comune e tutti utilizzano solo PubNub come indicato di seguito o uno dei suoi concorrenti.


In questi giorni non potrebbe essere più facile, basta usare pubnub.com

E 'il più grande servizio di dati di messaggistica del mondo per una ragione!

Non c'è praticamente nessun altro approccio realistico, è così semplice: poche righe di codice.

enter image description here

+0

Ciò significherebbe che entrambi i dispositivi si collegherebbero su Internet. Non ho esperienza con le tecnologie di rete. Esiste un approccio alternativo in cui entrambi i dispositivi possono comunicare tramite prese? –

+0

Fondamentalmente no. Fortunatamente è una linea di codice in pubnub. – Fattie

+0

"Non c'è sostanzialmente nessun altro approccio realistico". Grassetto claim ... – jmar777

1

PeerJS è quello che stai cercando:

http://peerjs.com

+0

Sembra una grande soluzione sul lato del browser, iper - MA sai cosa si può fare sul lato iOS/Android con questo? Saluti! – Fattie

+0

Articolo su WebRTC ecc. Http://blogging.alastair.is/webrtc-datachannels-or-how-i-imparato-per-stop-worrying-and-flap-my-arms/ – Fattie

+0

Cliccando su, http: // peerjs .com/esempi sembrerebbe che PeerJS funzioni solo su browser limitati. Ogni volta che clicco sugli esempi dice "non supportato" – Fattie

3

risposta così breve potrebbe essere: Un vero e proprio peer-to-peer (P2P) la comunicazione non è attualmente possibile con tutti i i browser. Così, invece di avere le seguenti opzioni:

  1. App + Server con un WebUI (forse)
  2. App + Chrome App (Chrome Apps può avviare un server Web, vedere http://www.devworx.in/news/misc/chrome-apps-can-now-run-a-web-server-135711.html)
  3. App + WebApp con Plugin (Flash, Silverlight o Java)

io personalmente preferirei soluzione 1.

2

è necessario un server. Se si considera questo problema rigorosamente dal tipico punto di vista del firewall, un PC o un dispositivo mobile ignoreranno le connessioni a meno che non inizino la connessione da soli. Quindi né il PC né il dispositivo mobile possono avviare una connessione con l'altro.

La mia comprensione è che i browser Web non supportano socket standard all'interno di javascript. È possibile utilizzare il websocket analogo, ma socket e websocket non sono direttamente compatibili.

È possibile impostare un server semplice sul PC e disporre di questi messaggi di inoltro del server tra il dispositivo mobile e il browser del PC. Sia il dispositivo mobile che il browser PC si connettono al server. Questo è fondamentalmente ciò che un servizio esterno farà per te.

+0

A destra. Essenzialmente "non puoi" socket da un browser: dal 2014 ci sono essenzialmente soluzioni sperimentali, che funzioneranno con alcuni browser in determinate situazioni (hypery2k le ha delineate). Proprio come dice Mattm, hai bisogno di un server. Per quanto riguarda la creazione di un server: sembra quasi incredibile, in questa era, si costruiva un servizio per farlo da zero (supponendo che si disponga di hardware massiccio, incredibilmente ridondante, multi-homing in tutto il mondo) piuttosto che usare solo uno i servizi di tutti i giorni disponibili per questo, che sono utilizzati nel 100% dei casi d'uso! – Fattie