2013-01-31 16 views
6

mi scuso se questa è una domanda banale.Trasmettere un messaggio a tutte le macchine disponibili su WiFi

Ho iniziato di recente a programmare Android e sto scrivendo una semplice app che consente di utilizzare il dispositivo Android come controller per il PC Windows. Specificamente permette all'utente di fare cose come spegnere la macchina, farla dormire, riavviarla ecc ecc. Attualmente sto usando una libreria Python chiamata CherryPy come server sulla macchina Windows per eseguire le chiamate Win32api effettive per eseguire il desiderato funzione. Quello di cui non sono sicuro è come scoprire (in modo dinamico) quale macchina sulla rete stia effettivamente ospitando il server. Funziona tutto bene se fisso l'IP pubblico delle mie macchine nell'app per Android, ma ovviamente è molto meno che ideale. Ho considerato l'utente inserire manualmente l'IP pubblico delle macchine nell'app, ma se c'è un modo per, ad esempio, trasmettere un messaggio rapido a tutte le macchine sul Wi-Fi e controllare una risposta pre-impacchettata che il mio server Python invia fuori, sarebbe meraviglioso. È possibile?

Grazie in anticipo ragazzi.

risposta

1

Scrivi la tua app utilizzando il framework . AllJoyn gestirà questi dettagli per te.

2

Provare a inviare un pacchetto UDP allo speciale indirizzo di trasmissione 255.255.255.255. Ogni dispositivo nella rete dovrebbe ricevere una copia di quel pacchetto (blocco dei firewall) e si può fare in modo che il server risponda al pacchetto con la sua identità.

+0

Quindi Idealmente lo farei ad un livello più alto - Ho usato metodi HTTP piuttosto che roba a livello di pacchetto. Sarebbe possibile in quella più alta astrazione? –

Problemi correlati