Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Socket a IP remoto, aiuto!!

0 views
Skip to first unread message

Giovanni

unread,
Nov 14, 2002, 8:00:55 AM11/14/02
to
Devo scrivere una socket UDP che si collega ad un indirizzo IP remoto...
Qualcuno sa dirmi come fare??

Perchè il pgm non mi dia errore di connessione cosa deve succedere??

Cioè cosa si aspetta di trovare a quell'indirizzo??
Un programma in esecuzione?? Oppure semplicemente l'esistenza di qualcosaa
quell'indirizzo??


Il seguente codice che sembrerebbe semplice e ovvia non mi funziona :

package servente;
import java.net.*;
import java.io.*;


public class Servente{

static DatagramSocket s;

public static void main(String[] argv) throws IOException{

DatagramSocket s = new DatagramSocket(8888,
new InetAddress.getByName("239.255.42.42"));

DatagramPacket datagram;
datagram = new DatagramPacket(new byte[65536], 65536);
while (true) {
s.receive(datagram);
}
}
}


mi restituisce il seguente errore :

"Servente.java": Error #: 300 : class getByName not found in class
java.net.InetAddress at line 23, column 36

per favore aiutatemi


--------------------------------
Inviato via http://usenet.libero.it

Gianluca Fioletti

unread,
Nov 14, 2002, 8:33:37 AM11/14/02
to
Giovanni wrote:

Innanzitutto togli la parola chiave new.

Ciao

Dan

unread,
Nov 14, 2002, 8:24:49 AM11/14/02
to
Il metodo getByName della classe java.net.InetAddress è un metodo statico!!
Il che vuol dire che non devi fare la new di quell'oggetto, ma il metodo è
invocabile in qualsiasi contesto.

Togli la new della classe InetAddress e forse (non ne sono sicuro, ma è
probabile) non bisogna passare un IP alla getByName, che come parametro
accetta si una stringa, ma dev'essere un nome (es. "sun.java.com").

I hope this helps.
Dan.


Giovanni

unread,
Nov 14, 2002, 8:58:50 AM11/14/02
to
Bene ho tolto NEW, ma mi da ancora problemi :


Unable to create socket
java.net.BindException: Cannot assign requested address: Cannot bind
at java.net.PlainDatagramSocketImpl.bind(Native Method)
at java.net.DatagramSocket.create(DatagramSocket.java:168)
at java.net.DatagramSocket.<init>(DatagramSocket.java:140)
at servente.Servente.main(Servente.java:22)


quello che mi chiedo è se è possibile che mi da problemi perchè è
l'indirizzo a cui cerco di connettermi che da qualche problema???

insomma cosa deve trovare il programma a quel indirizzo per non avere
problemi???

Luca Paganelli

unread,
Nov 15, 2002, 2:02:16 AM11/15/02
to
> Unable to create socket
> java.net.BindException: Cannot assign requested address: Cannot bind

Adesso il problema è che l'indirizzo rappresenta già un end point UDP.
Insomma la porta è già utilizzata da un altro servitore in UDP
di un qualche altro programma.

A volte a me viene fuori quando il mio stesso eseguibile va in crash.
Al successivo riavvio trova la porta occupata.

Prova a cambiare porta oppure prova a riavviare.

Se dopo riavviato ti da la stessa pippa l'unica è cambiare porta!

Ciao,
Luca Paganelli


0 new messages