durbans
30-07-2006, 18:48
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.
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.