Autore Topic: readUTF e EOFException  (Letto 389 volte)

Offline Ilgard

  • Utente junior
  • **
  • Post: 64
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xperia M
  • Sistema operativo:
    Ubuntu 14.04
readUTF e EOFException
« il: 27 Aprile 2015, 23:38:40 CEST »
0
Salve a tutti,
sto notando un errore strano: la mia app dialoga con un server Java tramite socket. Uso DataInputStream e DataOutputStream per comunicare. Se uso Android su macchina virtuale nessun problema, ma se uso lo smartphone ho problemi nell'invio di stringhe. Se invio degli interi tutto fila liscio, ma quando invio stringhe con writeUTF, al momento della lettura con readUTF, ottengo una EOFException.
Sapete da cosa possa essere originato il problema?

Offline Ilgard

  • Utente junior
  • **
  • Post: 64
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xperia M
  • Sistema operativo:
    Ubuntu 14.04
Re:readUTF e EOFException
« Risposta #1 il: 30 Aprile 2015, 19:07:58 CEST »
0
Up

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:readUTF e EOFException
« Risposta #2 il: 30 Aprile 2015, 20:42:10 CEST »
0
Detto così a parole i dati per valutare sono un po' pochi. Se c'è un EOF potrebbe non esserci niente da leggere (per motivi che ci sfuggono, ovviamente), e anche se sei convinto che ci sia qualcosa, dovresti verificarlo per altra via prima di liquidare questa possibilità.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ilgard

  • Utente junior
  • **
  • Post: 64
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xperia M
  • Sistema operativo:
    Ubuntu 14.04
Re:readUTF e EOFException
« Risposta #3 il: 01 Maggio 2015, 11:35:27 CEST »
0
La cosa strana è che con l'emulatore non ci sono problemi, mentre con lo smartphone sì. Inoltre la receive dovrebbe essere bloccante, quindi se anche non ci fosse nulla da leggere il client (lo smartphone) dovrebbe mettersi in attesa (anche perché altrimenti sarebbe un disastro sincronizzare server e client). Di defualt la receive non dovrebbe avere timeout, però magari questo non vale nella versione di Android presente sul mio smartphone, quindi posso provare a forzare il timeout ad un valore esageratamente alto, come 10 secondi.
Magari provo a farmi un progettino apposta solo per testare lo scambio di messaggi.