Autore Topic: Socket comunicazione con un server  (Letto 784 volte)

Offline vardar

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Socket comunicazione con un server
« il: 29 Agosto 2013, 19:20:11 CEST »
0
Salve a tutti, chiedo un aiuto perchè davvero non so più dove sbattere la testa.
Sto facendo un'applicazione che si deve connettere ad un server e comunicare con esso. Deve inviare dei dati ed il server dovrà dare delle risposte che l'applicazione deve ricevere.

L'invio funziona benissimo, il socket viene aperto ed il server riceve il dato (tanto che il log registra la connesione). A questo punto il server invia la sua risposta all'applicazione, una cosa banale, una semplice stringa con scritto "ok" per comunicare l'avvenuta ricezione dei dati. E qui nasce il mio problema perchè proprio non riesco a trovare il modo di far ricevere la risposta del server.
Posto qui di seguito il mio codice, qualcuno riesce ad aiutarmi?

Codice (Java): [Seleziona]
class ClientThread implements Runnable {
       
                @Override
                public void run() {
                       
                        try {
                               
                                InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
                                socket = new Socket(serverAddr, SERVERPORT);
                               
                                // invio dati
                                in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                                out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                               
                                out.write("invio1");
                                out.flush();
                               
                                try {
                                        String line = null;
                    while ((line = in.readLine()) != null) {
                       
                        handler.post(new Runnable() {
                            @Override
                            public void run() {
                                //.....    
                            }
                        });
                    }
                } catch (Exception e) {
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                                //....
                        }
                    });
                    e.printStackTrace();
                }
       
                       
                        } catch (UnknownHostException e1) {
                                e1.printStackTrace();
                        } catch (IOException e1) {
                                e1.printStackTrace();
                        }
                                       
                }
               
        }

Offline matttt

Re:Socket comunicazione con un server
« Risposta #1 il: 29 Agosto 2013, 22:27:59 CEST »
0
Quindi che succede dopo l'invio?
La tua app rimane ferma sull' in.readLine() ?
handler è... un gestore di messaggi?
Le mie apps su Google Play Store:

Offline vardar

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:Socket comunicazione con un server
« Risposta #2 il: 29 Agosto 2013, 22:33:44 CEST »
0
Resta fermo sul readline. Addirittura se metto un log successivo al readline non viene scritto, come se l'esecuzione si fermasse.

Offline mmlink

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    gt-s7500
  • Sistema operativo:
    windows 8
Re:Socket comunicazione con un server
« Risposta #3 il: 01 Novembre 2013, 11:58:21 CET »
0
sei sicuro che il server ti risponda? la stringa "ok" parte dal socket di invio del server? prova anche a bypassare android, magari facendo un piccolo client con le api di java.net
a me il problema sembra essere lato server.

Offline marco110

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4
  • Sistema operativo:
    Windows 7
Re:Socket comunicazione con un server
« Risposta #4 il: 17 Novembre 2013, 17:11:05 CET »
0
Puoi postare la parte php che manda la risposta ok? Ho realizzato un applicazione da poco che dopo la registrazione restituisce ok se è andato tutto a buon fine...

Inviato dal mio GT-N8000 utilizzando Tapatalk