|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
[JAVA]Address already in use
Scusate...ho un'applicazione client-server e alcune volte mi capita che eseguendo il server esca fuori un errore del genere:
Codice:
Address already in use: JVM_Bind
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
nessuno??
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
probabilmente hai qualche thread aperto, se usi eclipse usa la visualizzazione debug che ti fa vedere tutti i threads in esecuzione.
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
Guarda nella documentazione, ora non ricordo bene, ma in C aprendo una socket è possibile specificare il reuse_addr, per riutilizzare l'indirizzo e la porta in questi casi(ad esempio quando un server crasha)
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2004
Città: Bologna
Messaggi: 50
|
Andlea ha visto giusto, devi specificare l'opzione SO_REUSEADDR a livello socket, altrimenti il kernel ci mette un po' a rilasciare il socket, anche se è stato chiuso.
http://java.sun.com/j2se/1.5.0/docs/...ddress(boolean)
__________________
And the salad is frightful! I have an important message to deliver to all the cute people all over the world. If you're out there and you're cute, maybe you're beautiful. I just want to tell you something: there's more of us ugly mother-fuckers than you are, hey-y, so watch out. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
quando il socket viene chiuso si chiude subito, non ci vuole tanto tempo. Se da quell'errore lo da perchè c'è qualche errore nel codice.
|
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Oct 2004
Città: Bologna
Messaggi: 50
|
Quote:
Se invece la prima volta il server viene eseguito bene, poi termina e all'esecuzione successiva dà subito quell'errore, allora molto probabilmente è una questione di SO_REUSEADDRESS. Occhio: il socket viene chiuso subito implicitamente quando il processo termina, ma questo non vuol dire che il kernel renda disponibile immediatamente la coppia indirizzo-porta a cui il socket era bindato. L'errore "Address already in use" salta fuori sia quando fai una bind su un socket già in uso, sia quando il socket è chiuso ma non ancora reso nuovamente disponibile.
__________________
And the salad is frightful! I have an important message to deliver to all the cute people all over the world. If you're out there and you're cute, maybe you're beautiful. I just want to tell you something: there's more of us ugly mother-fuckers than you are, hey-y, so watch out. Ultima modifica di il_luridone : 25-05-2006 alle 10:24. |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2006
Città: Lassù
Messaggi: 2842
|
Quote:
__________________
Fa' che non turbi l'anima tua il triste spettacolo dell'ingiustizia umana; anch' essa, nell'economia divina, ha il suo valore. È sopra di essa che vedrai sorgere immancabilmente la giustizia di Dio. HO CONCLUSO EGREGIAMENTE TRATTATIVE CON OLTRE 90 UTENTI! ATTENZIONE: consiglio di evitare assolutamente trattative con l'utente Herant Ultima modifica di AbuJaffa : 25-05-2006 alle 14:12. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:38.



















