Ciao!
nel progetto che sto realizzando non capisco come mai mi viene fuori questo errore in fase di esecuzione:

codice:
java.net.BindException: Address already in use: connect
	at sun.nio.ch.Net.connect(Native Method)
	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464)
	at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
	at progetto.Server.send(Server.java:98)
Ho messo solo fino a server che è la prima classe del mio progetto, le altre sono API.
Alla riga segnalata c'è:

codice:
c = SocketChannel.open(new InetSocketAddress(destinatario.Ip(),destinatario.porta()));
Poco più giù nel metodo dove si trova questa riga effettuo la chiusura:

codice:
c.close();
Con meno thread faccio girare il main e più tardi si presenta il problema, solo che non capisco perché, in fin dei conti non è che a ogni esecuzione modifico porta e/o indirizzo scelti, che sono del tipo:

codice:
Nodo nodo1 = new Nodo("127.0.0.1",8081);
Nodo nodo2 = new Nodo("127.0.0.1",8082);
Nodo nodo3 = .....
Ho provato a cambiare anche le porte, ma il problema si verifica sempre.
Qualcuno mi sa dare una mano? Spero di non essere stato troppo sintetico nella descrizione del progetto, ma è molto ampio e ho focalizzato l'attenzione solo a ciò che è strettamente collegato al messaggio d'errore.
Grazie mille