Autore Topic: Trovare indirizzo IP server su rete locale wifi da Android tramite scansione.  (Letto 1912 volte)

Offline tosgat

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7/8 64 bit
Ciao a tutti. Ho un problema che mi serve per un'app che sto realizzando. Prima di tutto vi dico che ho un server apache che gira su win 8 su un computer all'interno della mia rete personale di casa. Il mio pc col server apache ha il suo idirizzo IP che devo inserire manualmente nel codice dell'app quando vado a fare una sincronizzazione di dati, ma se cambio rete l'indirizzo ip non va più bene e devo reimpostarlo manualmente da codice java.

Ciò che voglio fare quindi è creare qualcosa che faccia una scansione della mia rete e che mi trovi dove gira il server. In questo modo posso copiarmi l'indirizzo ip in automatico e non ho bisogno di modificare manualmente il codice e reinstallare l'app di nuovo sul dispositivo.

Ho cercato in lungo e in largo un po' ovunque e le uniche cose che ho trovato sono riguardanti richieste broadcast di cui mi intendo meno di zero. Quindi chiedo a voi come posso fare, o qualche esempio fatto bene, per poter implementare una cosa simile in Android perché non posso continuare a modificare l'indirizzo IP manualmente da java ogni volta che cambio rete wifi a cui mi connetto con portatile e smartphone.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Trovare indirizzo IP server su rete locale wifi da Android tramite scansione.
« Risposta #1 il: 09 Luglio 2013, 18:49:19 CEST »
0
Quando ti connetti ad una wifi la tua app potrebbe provare uno alla volta tutti i 255 indirizzi possibili variando l'ultimo numero del tuo IP, per esempio cercando di aprire una certa pagina di prova.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline tosgat

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7/8 64 bit
Re:Trovare indirizzo IP server su rete locale wifi da Android tramite scansione.
« Risposta #2 il: 09 Luglio 2013, 18:59:31 CEST »
0
Si la mia idea era quella di creare tanti thread per testare i vari indirizzi IP della mia LAN. Ma il problema è quando vado a cercarli sulla LAN all'università che è una 10.x.x.x quindi molti più indirizzi. Un'idea che avevo pensato in generale è prendere i primi 3 gruppi dell'IP e scansionare gli ultimi 255 indirizzi. Se non trovo il server cerco anche a partire dal penultimo gruppo anche se gli ip diventerebbero 255 al quadrato.

Tornando al problema principale, come faccio per scansionare tutti questi IP? Non faccio prima a inviare una richiesta broadcast a tutti in modo tale che solo il mio server la riconosca e risponda con il proprio IP? Ovviamente il mio server sarà su una porta personalizzata e non la solita porta 80.

Sapete indicarmi qualche tutorial o qualche altro esempio? Sono a digiuno di queste cose purtroppo e sto cercando di impararci su.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Trovare indirizzo IP server su rete locale wifi da Android tramite scansione.
« Risposta #3 il: 09 Luglio 2013, 19:09:22 CEST »
0
Si la mia idea era quella di creare tanti thread per testare i vari indirizzi IP della mia LAN. Ma il problema è quando vado a cercarli sulla LAN all'università che è una 10.x.x.x quindi molti più indirizzi. Un'idea che avevo pensato in generale è prendere i primi 3 gruppi dell'IP e scansionare gli ultimi 255 indirizzi. Se non trovo il server cerco anche a partire dal penultimo gruppo anche se gli ip diventerebbero 255 al quadrato.

Tornando al problema principale, come faccio per scansionare tutti questi IP? Non faccio prima a inviare una richiesta broadcast a tutti in modo tale che solo il mio server la riconosca e risponda con il proprio IP? Ovviamente il mio server sarà su una porta personalizzata e non la solita porta 80.

Sapete indicarmi qualche tutorial o qualche altro esempio? Sono a digiuno di queste cose purtroppo e sto cercando di impararci su.

Fare tanti thread non è molto bello, anzi.

Con così tanti IP possibili (16,7 milioni) la soluzione usuale è che il server "scriva" il suo indirizzo IP su un terzo server noto a tutti (un servizio tipo DynDNS.it  ||  The Free DynDNS Alternative per intendersi).

Sul broadcast non saprei proprio e tutorial non ne conosco.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline tosgat

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7/8 64 bit
Re:Trovare indirizzo IP server su rete locale wifi da Android tramite scansione.
« Risposta #4 il: 10 Luglio 2013, 12:35:38 CEST »
0
Fare tanti thread non è molto bello, anzi.

Con così tanti IP possibili (16,7 milioni) la soluzione usuale è che il server "scriva" il suo indirizzo IP su un terzo server noto a tutti (un servizio tipo DynDNS.it  ||  The Free DynDNS Alternative per intendersi).

Sul broadcast non saprei proprio e tutorial non ne conosco.

Volevo evitare di appoggiarmi a un servizio terzo. Ecco il perché del broadcast. Devo trovare qualcosa su quello. C'è qualcuno che mi può aiutare in merito a fare una richiesta broadcast sulla mia rete wifi o comunque su una rete interna?

Offline tosgat

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus Black
  • Sistema operativo:
    Windows 7/8 64 bit
Re:Trovare indirizzo IP server su rete locale wifi da Android tramite scansione.
« Risposta #5 il: 13 Luglio 2013, 20:01:06 CEST »
0
Nessuno?!?!?! :-(