[Risolto] Java problemi con le Socket
[Risolto] Java problemi con le Socket
Ciao raga sto lavorando ad un programma per lo scambio di file da remoto (e non da locale)
Questo è il client:
public static void main(String[] args) throws IOException {
Socket s=new Socket("79.3.212.xxx",2000);
System.out.println(s.getRemoteSocketAddress());
DataInputStream dis=new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dis.close();
s.close();
}
E questo il server:
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(2000);
Socket s=ss.accept();
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
dos.writeUTF("Ciao\n");
ss.close();
s.close();
dos.close();
}
Ma quando eseguo il client mi da errore: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method).
Potete dirmi dove sbaglio???
Questo è il client:
public static void main(String[] args) throws IOException {
Socket s=new Socket("79.3.212.xxx",2000);
System.out.println(s.getRemoteSocketAddress());
DataInputStream dis=new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dis.close();
s.close();
}
E questo il server:
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(2000);
Socket s=ss.accept();
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
dos.writeUTF("Ciao\n");
ss.close();
s.close();
dos.close();
}
Ma quando eseguo il client mi da errore: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method).
Potete dirmi dove sbaglio???
Ultima modifica di Anonymous il mercoledì 5 marzo 2008, 16:26, modificato 1 volta in totale.
- boymask2000
- Prode Principiante
- Messaggi: 159
- Iscrizione: venerdì 11 agosto 2006, 10:06
- Contatti:
Re: Java problemi con le Socket
se la xxx in
è davvero tale, allora sta cercando di risolvere l'indirizzo tramite DNS. Se invece al posto di xxx c'è un numero e quindi l'indirizzo è velido, controllerei se ci sono firewall in mezzo
Ciao
Codice: Seleziona tutto
Socket s=new Socket("79.3.212.xxx",2000);
Ciao
Ubuntu User # 20152
Re: Java problemi con le Socket
In "Socket s=new Socket("79.3.212.xxx",2000);" le "xxx" le ho messe per non visualizzare tutto l' IP.
- jimmy.77
- Scoppiettante Seguace

- Messaggi: 576
- Iscrizione: lunedì 25 settembre 2006, 17:08
- Località: San Marcello Pistoiese
- Contatti:
Re: Java problemi con le Socket
così a colpo d'occhio direi che il programma che ti fa "server" si avvia e si conclude, chiudendo il socket. Quando ti colleghi con il client di dà l'eccezione perché effettivamente non esiste più il socket al quale collegarsi.
Dovresti trovare il modo di far restare il "server" in ascolto (...che è quello che deve fare un server
), o con un thread o un ciclo while con l'aggiunta di una clausola di uscita dal ciclo.
Ciao, J.
Dovresti trovare il modo di far restare il "server" in ascolto (...che è quello che deve fare un server
Ciao, J.
Legge di Gumperson: "La probabilità che qualcosa accada è inversamente proporzionale alla sua desiderabilità"
- boymask2000
- Prode Principiante
- Messaggi: 159
- Iscrizione: venerdì 11 agosto 2006, 10:06
- Contatti:
Re: Java problemi con le Socket
Il metodo accept() è bloccante, per cui resta in attesa almeno della prima connessione.
IMHO
Saluti
IMHO
Saluti
Ubuntu User # 20152
- jimmy.77
- Scoppiettante Seguace

- Messaggi: 576
- Iscrizione: lunedì 25 settembre 2006, 17:08
- Località: San Marcello Pistoiese
- Contatti:
Re: Java problemi con le Socket
mmmh, hai ragione (ignoravo completamente questa cosa!).boymask2000 ha scritto: Il metodo accept() è bloccante, per cui resta in attesa almeno della prima connessione.
A questo punto quoto in pieno quello che hai proposto nel tuo post precedente: quasi sicuramente è un problema di "visibilità" tra le due macchine (IP errato, firewall, proxy, reverse proxy, e chi più ne ha... più ne metta).
J.
Legge di Gumperson: "La probabilità che qualcosa accada è inversamente proporzionale alla sua desiderabilità"
- Massimo S.
- Entusiasta Emergente

- Messaggi: 1931
- Iscrizione: giovedì 28 settembre 2006, 14:34
Re: Java problemi con le Socket
Per fare delle prove, dal pc client fai
per vedere se il pc server è raggiungibile
e poi
per vedere se il client si connette alla porta 2000 del server.
(Ovviamente sostituisci xxx con l'indirizzo vero)
Codice: Seleziona tutto
ping 79.3.212.xxxe poi
Codice: Seleziona tutto
telnet 79.3.212.xxx 2000(Ovviamente sostituisci xxx con l'indirizzo vero)
- daemon_nio
- Entusiasta Emergente

- Messaggi: 1012
- Iscrizione: lunedì 15 gennaio 2007, 14:18
- Sesso: Maschile
- Località: London
- Contatti:
Re: Java problemi con le Socket
Io ti direi di provare con 127.0.0.1 e lanciare il client e il server dalla stessa macchina.
Ho avuto problemi simili... addirittura non mi riuscivo a connettermi alla mia stessa macchina utilizzando al posto di 127.0.0.1 localhost, il che dovrebbero essere perfettamente identici. (ed ero su linux
)
Ho avuto problemi simili... addirittura non mi riuscivo a connettermi alla mia stessa macchina utilizzando al posto di 127.0.0.1 localhost, il che dovrebbero essere perfettamente identici. (ed ero su linux
Sempre costruendo qualcosa di nuovo: Matag: The Game
Re: Java problemi con le Socket
Questa mattina ho provato ad avviare il client e il server e inspiegabilmente funzionano.....
Comunque grazie!!!!!!!!!!!!!!!
Comunque grazie!!!!!!!!!!!!!!!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti