PDA

View Full Version : [JAVA] IOException: Cannot assign requested address


Ed_Bunker
08-09-2005, 10:20
Ciao, questa eccezione mi viene lanciata quando utilizzo un MutlicastSocket per inviare un DatagramPacket ad un altro DatagramSocket.
Il problema e' il MulticastSocket viene creato correttamente e l'errore indicato viene lanciato nel momento in cui faccio la send(...)
Quale e' la causa?
Posto parte del codice interessato:



try
{
ms2 = new MulticastSocket(TaxiC.taxiuserMulticastPort);
ms2.joinGroup(multicastInetAdd);
}

catch(IOException e)
{
System.out.println("Taxi Req " + tm.getTaxiName() + "> impossibile cominciare ad attendere le richieste.");
return;
}

//A questo ricevo un messaggio sul gruppo multicast
//estraggo i dati che mi interessano (Tra i quali indirizzo
//e porta del DagramSocket dell'utente )e mi preparo ad
//inviare la risposta all'host che ha inviato il mess

//Creo il datagram packet
DatagramPacket dp = new DatagramPacket(answerBuffer, answer.length(), userInetAdd, userPort);

try
{
System.out.println("Taxi Req " + tm.getTaxiName() + "> invio la risposta al DatagramSocket all'indirizzo " + userInetAdd.getHostName() + " e porta " + userPort);
ms2.send(dp);// <---- Qua sta il problema !
}
catch (IOException e)
{
System.out.println("Taxi Req " + tm.getTaxiName() + "> errore nell'invio della risposta mediante multicast socket " + e);
continue;
}


Non capisco nemmeno quale possa essere la causa visto che il MulticastSocket viene creato e non viene mai chiuso.

:confused:

Ecco in particolare l'eccezione lanciata:

java.io.IOException: Cannot assign requested address
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:612)
at taxiC.RequestHandler.run(RequestHandler.java:157)