Google 網路論壇不再支援新的 Usenet 貼文或訂閱項目,但過往內容仍可供查看。

Socket a IP remoto, aiuto!!

瀏覽次數:0 次
跳到第一則未讀訊息

Giovanni

未讀,
2002年11月14日 上午8:00:552002/11/14
收件者:
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

未讀,
2002年11月14日 上午8:33:372002/11/14
收件者:
Giovanni wrote:

Innanzitutto togli la parola chiave new.

Ciao

Dan

未讀,
2002年11月14日 上午8:24:492002/11/14
收件者:
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

未讀,
2002年11月14日 上午8:58:502002/11/14
收件者:
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

未讀,
2002年11月15日 凌晨2:02:162002/11/15
收件者:
> 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 則新訊息