[Risolto] Java problemi con le Socket

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
^JAVA^
Prode Principiante
Messaggi: 56
Iscrizione: domenica 5 agosto 2007, 16:00

[Risolto] Java problemi con le Socket

Messaggio da ^JAVA^ »

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???
Ultima modifica di Anonymous il mercoledì 5 marzo 2008, 16:26, modificato 1 volta in totale.
Avatar utente
boymask2000
Prode Principiante
Messaggi: 159
Iscrizione: venerdì 11 agosto 2006, 10:06
Contatti:

Re: Java problemi con le Socket

Messaggio da boymask2000 »

se la xxx in

Codice: Seleziona tutto

Socket s=new Socket("79.3.212.xxx",2000);
è 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
Ubuntu User # 20152
^JAVA^
Prode Principiante
Messaggi: 56
Iscrizione: domenica 5 agosto 2007, 16:00

Re: Java problemi con le Socket

Messaggio da ^JAVA^ »

In "Socket s=new Socket("79.3.212.xxx",2000);" le "xxx" le ho messe per non visualizzare tutto l' IP.
Avatar utente
jimmy.77
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 576
Iscrizione: lunedì 25 settembre 2006, 17:08
Località: San Marcello Pistoiese
Contatti:

Re: Java problemi con le Socket

Messaggio da jimmy.77 »

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 :D), o con un thread o un ciclo while con l'aggiunta di una clausola di uscita dal ciclo.

Ciao, J.
Legge di Gumperson: "La probabilità che qualcosa accada è inversamente proporzionale alla sua desiderabilità"
Avatar utente
boymask2000
Prode Principiante
Messaggi: 159
Iscrizione: venerdì 11 agosto 2006, 10:06
Contatti:

Re: Java problemi con le Socket

Messaggio da boymask2000 »

Il metodo accept() è bloccante, per cui resta in attesa almeno della prima connessione.

IMHO

Saluti
Ubuntu User # 20152
Avatar utente
jimmy.77
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 576
Iscrizione: lunedì 25 settembre 2006, 17:08
Località: San Marcello Pistoiese
Contatti:

Re: Java problemi con le Socket

Messaggio da jimmy.77 »

boymask2000 ha scritto: Il metodo accept() è bloccante, per cui resta in attesa almeno della prima connessione.
mmmh, hai ragione (ignoravo completamente questa cosa!).
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à"
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: Java problemi con le Socket

Messaggio da Massimo S. »

Per fare delle prove, dal pc client fai

Codice: Seleziona tutto

ping 79.3.212.xxx
per vedere se il pc server è raggiungibile

e poi

Codice: Seleziona tutto

telnet 79.3.212.xxx  2000
per vedere se il client si connette alla porta 2000 del server.

(Ovviamente sostituisci xxx con l'indirizzo vero)
Avatar utente
daemon_nio
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1012
Iscrizione: lunedì 15 gennaio 2007, 14:18
Sesso: Maschile
Località: London
Contatti:

Re: Java problemi con le Socket

Messaggio da daemon_nio »

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 :D)
Sempre costruendo qualcosa di nuovo: Matag: The Game
^JAVA^
Prode Principiante
Messaggi: 56
Iscrizione: domenica 5 agosto 2007, 16:00

Re: Java problemi con le Socket

Messaggio da ^JAVA^ »

Questa mattina ho provato ad avviare il client e il server e inspiegabilmente funzionano.....
Comunque grazie!!!!!!!!!!!!!!!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti