Autore Topic: Problema con socket -(??? sincronizzazione)  (Letto 669 volte)

Offline maurizio76

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: +2
    • Mostra profilo
Problema con socket -(??? sincronizzazione)
« il: 17 Novembre 2011, 18:21:56 CET »
0
Ciao a tutti
Sto realizzando una connessione tra un dispositivo android e un PC-Server tramite un socket.
La classe client  Android è sviluppata da me,il server socket era già esistente e mi collego su una determinata porta.

Ho un codice JAVA del tipo:
------------------------------------------
Socket s;
DataInputStream inConfig= new DataInputStream(s.getInputStream());
.....
......    
int numCharRead = inConfig.read(buffer,0,buffer.length);
 s = new String(buffer);//Riempimento Buffer con dati letti da socket
------------------------------------------
accade,ma non sempre ,che nella stringa "s" appaiano dei caratteri "spuri",tipo dei "quadratini"
Credo sia un problema di sincronizzazione tra client e Server per cui il buffer venga caricato con caratteri "spuri" prelevati tramite socket.

Il socket è creato per prelevare un file sul Server e trasferirlo sul dispositivo Android,e ho notato
che se il file è piccolo,la stringa "s" contiene sempre i dati corretti,mentre se il file è grande appaiono i caratteri spuri.

La cosa strana è che se provo ad inserire,subito prima della read, un istruzione del tipo
  java.lang.Thread.sleep(ritardoDiSincronizzazione);//ritardo di TOT millisecondi
comunque vengono letti dei valori spuri (anche se aumento o diminuisco il valore di ritardoDiSincronizzazione).
Se però inserisco un breakPoint,proprio sull'istruzione read, in Eclipse ed eseguo passo-passo la stringa viene letta correttamente.
Qualcuno ha idea di quale potrebbe essere il problema?




« Ultima modifica: 17 Novembre 2011, 18:39:54 CET da maurizio76 »