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:
Non capisco nemmeno quale possa essere la causa visto che il MulticastSocket viene creato e non viene mai chiuso.codice: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; }
Ecco nel particolare l'eccezione:
java.io.IOException: Cannot assign requested address
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:6 12)
at taxiC.RequestHandler.run(RequestHandler.java:157)


Rispondi quotando
