Ciao a tutti, stavo svolgendo un esercizio, ma stranamente ho un' eccezione che non so spiegarmi:

codice:
Exception in thread "main" java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
	at java.net.Socket.connect(Socket.java:579)
	at java.net.Socket.connect(Socket.java:528)
	at java.net.Socket.<init>(Socket.java:425)
	at java.net.Socket.<init>(Socket.java:241)
	at Client.main(Client.java:21)

Sembra che il problema sia al momento di creazione della socket:

Ecco il codice:

codice:
import java.io.*;
import java.net.*;

public class Client{
	public static void main(String [] args) throws Exception
	{
		
		/*try{*/
			
			final String SERVERADDR= "151.97.252.130";
			final int PORT=80;
		
			InetAddress addr=InetAddress.getByName(SERVERADDR);
			
			final String msg= "GET /pappalardo/prova/06.aux\n";
			int index=0;
			String s="";
			boolean trovato=false;
			String tmp="";
			
			Socket client=new Socket(addr, PORT);
	
			
			OutputStreamWriter o=new OutputStreamWriter(client.getOutputStream());
			BufferedWriter w=new BufferedWriter(o);
			PrintWriter out=new PrintWriter(w, true);
			
			
			System.out.println("Invio la stringa: "+"GET /pappalardo/prova/06.aux\n");
			out.println("GET /pappalardo/prova/06.aux\n");
			
			InputStreamReader in=new InputStreamReader(client.getInputStream());
			BufferedReader reader=new BufferedReader(in);
			
				
				while(!trovato){
				
					tmp+=reader.readLine();
				
					for(int i=0; i<tmp.length(); i++){
						if(tmp.charAt(i)=='x' || tmp.charAt(i)==' ' || tmp.charAt(i)=='\n')
							index=i;
						trovato=true;
					}
					
				   s+=tmp.substring(index, tmp.length());
				}
				
				while(reader.ready()){
					 
					s+=reader.readLine();
				}
				
				s+='\n';
			
				
				
			    System.out.println("Invio su connessione aperta: "+s);
			    out.println(s);        //Server nuovo stream output????
				
			InputStreamReader i2=new InputStreamReader(client.getInputStream());
			BufferedReader reader2=new BufferedReader(i2);
			
			System.out.println("Ho ricevuto: "+reader2.readLine());	


			client.close();
			reader2.close();
			reader.close();
			out.close();
				
		  /*  }
				
		catch(Exception e){
			System.out.println("Errore!!!");
		}*/
	}
}