PDA

Visualizza la versione completa : [JAVA] Socket UDP


mietitoredanime
04-05-2004, 20:34
Salve Ragazzi ho creato un client e un server che utilizzano l'UDP in java, ma quando cerco di testarli in locale viene sempre sollevata l'eccezione BindException, che mi dice che sto cercando di assegnare lo stesso indirizzo 2 volte.Questo una parte del codice che ho usato nel server:

socket1=new DatagramSocket(8086);
socket1.receive(rcv); //ricezione del datagram UDP
payload=rcv.getData(); //estrazione del carico utile dal datagram port=rcv.getPort(); //estrazione del numero di porto del mittente address=rcv.getAddress();
....
snd=new DatagramPacket(invio,invio.length,address,port);
socket2=new DatagramSocket();
socket2.send(snd);//invio del datagram UDP

questa la parte del codice client che uso per la connessione:

snd=new DatagramPacket(invio,invio.length,InetAddress.getB yName("localhost"),8086);
socket1=new DatagramSocket();
try{
socket1.send(snd);//invio del datagram
}catch(IOException e3){//gestore dell'eccezione
System.err.println("E' stata catturata un'eccezione del tipo: "+e3.toString()+"\n");
}
Cosa devo modificare per rendere possibile la connessione anche in locale?E Dove?

Johnny_Depp
04-05-2004, 20:49
ciao, benvenuto

visto che sei nuovo ti invito a leggere il regolamento del forum: http://forum.html.it/forum/showthread.php?s=&threadid=588640

p.s. questa volta il titolo lo modifico io... la prossima volta ricordati che va specificato anche il linguaggio. ;)

LeleFT
05-05-2004, 11:43
Non credo che si debba aggiungere codice particolare. Prova a modificare l'istruzione che crea la DatagramPacket in questo modo (non ho mai usato quel modo per reperire l'indirizzo locale):


snd=new DatagramPacket(invio,invio.length,InetAddress.getL ocalHost(),8086);


Ciao. :ciauz:

mietitoredanime
05-05-2004, 23:32
Gi avevo provato con getLocalHost() ma mi solleva lo stesso l'eccezione

LeleFT
06-05-2004, 00:04
Uhm... prova ad aggiungere questa riga all'interno dei blocchi catch, cos vediamo qual' esattamente la riga incriminata, che solleva l'eccezione:


oggettoEccezione.printStackTrace();


Ciao. :ciauz:

Loading