Per delizia o masochismo mi son messo a provare come funziona la Socket per java. E allegria il codice da me fatto funzia in localhost ma se metto il server su un altro pc non riesco a effettuare la connessione....
Riporto i due codici.
---------------SERVER--------------------
Code:
public class Server extends Thread {
public void run() {
try{
// Inizializzazione dell'oggetto ServerSocket //
ServerSocket serverFather=new ServerSocket(10001);
//Recupero info sul server //
InetAddress info=serverFather.getInetAddress();
String server= info.getHostAddress();
int port= serverFather.getLocalPort();
System.out.println("[SERVER] Nome:"+server+ "porta: "+port);
//-----------------------------//
//---Ciclo infinito del server ---//
while(true){
System.out.println("[SERVER] Il server va in sleep....");
//Accetto le richieste dal client //
Socket client=serverFather.accept();
System.out.println("[SERVER] Un client si è connesso");
//Trovo le info sul client//
Server_son son=new Server_son(client);
Thread son_t=new Thread(son);
son_t.start();
}
}catch (Exception e){System.out.println("Errore nella creazione della socket...");}
}
--------------CLIENT---------------------
Code:
public class Client extends Thread {
InetAddress ip;
String porta;
public Client (InetAddress ind,String port){
ip=ind;
porta=port;
}
public void run(){
System.out.println("[CONNECTING TO "+ip.toString()+":"+porta+" .....]");
try{
Socket client= new Socket(ip,Integer.parseInt(porta));
System.out.println("Connection Established!!!");
InputStream is= new DataInputStream (client.getInputStream());
OutputStream os=new DataOutputStream(client.getOutputStream());
BufferedReader br= new BufferedReader(new InputStreamReader(is));
System.out.println("Response from server: [ "+br.readLine()+" ]");
br.close();
is.close();
os.close();
client.close();
}catch (Exception e){System.out.println("Errore creazione socket...Unable connect to "+ip.toString());
System.out.println(e);
}
}
}
Alla fine del tutto ottengo questo:
[CONNECTING TO /10.1.1.3:10001 .....]
Errore creazione socket...Unable connect to /10.1.1.3
java.net.NoRouteToHostException: No route to host: connect
l'ip del server è 10.1.1.3 inutile dire che lo raggiungo poichè ci sono dentro con ssh...