|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2006
Messaggi: 152
|
[C] Errore della bind()
Ho scritto un semplice server in C.
La prima esecuzione funziona (il client gli manda un messaggio e il server risponde), la seconda esecuzione fallisce sulla bind() (in pratica il server fa un ciclo infinito dove, alla fine della interazione con il client, chiude il socket e torna in ascolto su una porta). Mi pare di ricordare che bisognava impostare un'opzione del socket in maniera tale da poter riusare la stessa porta senza dover aspettare un timeout del TCP con la setsockopt(), ma non mi ricordo quale era questa opzione. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
SO_REUSEADDR
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Che senso ha fare due volte la bind ?!?!? Non c'è bisogno...basta fare la accept per tornare in attesa di una nuova connessione...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
credo si riferisca ad una seconda esecuzione di tutta l'applicazione.
Capita che la porta non venga rilasciata immediatamente |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dalla descrizione sopra mi sembrava che facesse due bind nella stessa esecuzione...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:52.



















