Originariamente inviato da LeleFT
Eh? Mi sa che state facendo grossa confusione:
1) Il server deve rimanere in ascolto su un IP e una sola porta. Lì arrivano tutti i client.
2) Non devi avere una porta libera per ciascun client... te ne basta una per tutti.
3) Il server gestirà ciascun client con un thread separato, il quale gestirà la sua bella Socket che è agganciata al client connesso.
Non a caso, l'oggetto ServerSocket prende come parametri un IP e una sola porta.
In buona sostanza, il lavoro del server dovrebbe essere:
1) Accetta una connessione
2) Falla gestire ad un thread
3) Rimettiti in attesa di un'altra connessione
(più, eventualmente, una serie di altri lavoretti di contorno)
Ciao.