|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 308
|
[JAVA] sincronizzazione socket
Ciao a tutti. Ho un thread ServerSocket che è in accept. Nel momento in cui un Socket client si connette, invia un messaggio sull'outputstream del socket. Il server nel frattempo crea un DataInputStream prendendo l'InputStream del socket e si mette in attesa (con una read su DataInputStream) dell'arrivo del messaggio inviato dal client. Il problema è che il client è più veloce del server nell'inviare il messaggio, probabilmente quando il messaggio è gia arrivato al ServerSocket, il server ancora non aggancia l'InputStream al DataInputStream e nel momento in cui va a leggere quest'ultimo, resta in attesa perchè probabilmente il DataInputStream è gia vuoto. Ho risolto con una sleep lato client prima dell'invio del messaggio ma mi sembra una soluzione stupida. Non vorrei fosse l'unica...
|
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
l'InputStream mica si svuota da solo eh... fai fare al client un flush sull'OutputStream.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:05.



















