CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 9 su 9
Discussione:

Problema ServerSocket

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    59

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Unhappy

    Problema ServerSocket

    Ciao ragazzi,
    ho un problema riguardante l'utilizzo del ServerSocket...
    In pratica sto cercando di fare una semplicissima app che apre una ServerSocket e rimane li in ascolto, in attesa di una connessione...poi eventualmente riceve una stringa e la stampa.

    Il meccanismo è molto semplice, appena viene cliccato un bottone, viene creato un Thread(che si occupa di gestire la ServerSocket) e richiamato il suo rispettivo metodo start()...ecco il codice del metodo che cattura il click del bottone:

    e del thread che viene creato:

    In pratica il problema è che il thread si blocca sul comando "s = serverSocket.accept()" in attesa di ricevere una connessione, ma anche se gli invio comandi tramite un client, non li riceve e rimane sempre bloccato li. Infatti stampa il Log "In attesa di connessione..." ma non stampa mai il Log "Connessione ricevuta!".....
    Il client è una semplicissima applicazione java, ecco il codice se può essere utile:

    Inoltre la stessa app ha anche un altro bottone che se cliccato apre una Socket e invia una stringa e un'altra semplicissima applicazione java che funge da server(molto simile a questa client che ho postato) la riceve correttamente.....

    Vi chiedo gentilmente se sapete quale potrebbe essere il problema...

  2.  
  3. #2
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Lodi
    Messaggi
    256
    Smartphone
    Samsung S2, Nexus 5

    Ringraziamenti
    5
    Ringraziato 32 volte in 31 Posts
    Predefinito

    Domanda stupida sei sicuro che l IP di ascolto del server sia quello corretto?

    Inviato dal mio Nexus 5 usando Androidiani App
    Vedo tutto attraverso sabbia rossa e deserto...


  4. #3
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    59

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    il server(app android) per ora lo faccio girare sull'emulatore di Android in Eclipse e ho inserito l'indirizzo ip del pc su cui gira (prompt dei comandi-->ipconfig--> indirizzo IPv4 )........

  5. #4
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Lodi
    Messaggi
    256
    Smartphone
    Samsung S2, Nexus 5

    Ringraziamenti
    5
    Ringraziato 32 volte in 31 Posts
    Vedo tutto attraverso sabbia rossa e deserto...


  6. #5
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Lodi
    Messaggi
    256
    Smartphone
    Samsung S2, Nexus 5

    Ringraziamenti
    5
    Ringraziato 32 volte in 31 Posts
    Predefinito

    Questo a me funge

    Inviato dal mio Nexus 5 usando Androidiani App
    Vedo tutto attraverso sabbia rossa e deserto...


  7. #6
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    59

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Chiedo scusa devo farvi una domanda forse molto banale...
    In rete ci sono moltissimi esempi e vengono anche pubblicati i sorgenti funzionanti. Io scarico quest'ultimi e metto le due cartelle (dei due rispettivi progetti "client" e "server" android) all'interno di workspace...Perche Eclipse non me le vede? Non vede i progetti che scarico e li metto dentro workspace...mentre i progetti che creo io me li vedo regolarmente...
    ho provato anche a fare più volte il refresh...

  8. #7
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Lodi
    Messaggi
    256
    Smartphone
    Samsung S2, Nexus 5

    Ringraziamenti
    5
    Ringraziato 32 volte in 31 Posts
    Predefinito

    Fai l import dei progetti nuovo progetto Android progetto già esistente

    Inviato dal mio Nexus 5 usando Androidiani App
    Vedo tutto attraverso sabbia rossa e deserto...


  9. #8
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    59

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    A quanto pare il problema per cui non funziona credo che sia perche l'emulatore di Android apre una porta(solitamente numero 5554) e il mio client java apre una socket con porta "10324" (quella in cui resta in ascolto l'app android server).
    In teoria credo che dovrei mettere in ascolto anche la porta dell'emulatore(la 5554)....
    Ma non ho ben capito come funzioni il meccanismo..
    Qualcuno per caso saprebbe come risolvere il problema..?
    Ultima modifica di chri13; 14-08-14 alle 19:24

  10. #9
    Androidiano


    Registrato dal
    Jul 2014
    Messaggi
    59

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Vi chiedo gentilmente se qualcuno potrebbe aiutarmi, non so più cosa provare...
    In pratica la mia app all'avvio(metodo onCreate) crea una WorkerThreadServer(un nuovo thread) che istanzia una ServerSocket e resta in attesa di una connessione.... Vi posto il codice della classe WorkerThreadServer:


    Questo invece il codice del client....una semplicissima applicazione java..:

    Inoltre all'interno dell'app c'è anche un WorkerThreadClient che funziona benissimo, invia correttamente una stringa a un server java....
    Il problema è che nel WorkerThreadServer viene stampato il LOG "Log.i(TAG,"in attesa di connessione....");" ma poi si blocca su serverSocket.accept(); non riceve nessuna connessione (quindi non viene mai stampato il LOG "Log.i(TAG,"connessione ricevuta....!");"....


    Vi chiedo gentilmente se potete aiutarmi, ve ne sarei veramente molto grado....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy