Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655

    Errore durante la connessione

    Ciao a tutti ho un problema con le Socket:

    in pratica ho creato

    Due Classi

    1) CLIENT:
    codice:
    InetAddress addr = null;
            Socket socket = null;
            String serverName = null;
            try {
    			addr = InetAddress.getByName(serverName);
    		} catch (UnknownHostException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		try {
    			socket = new Socket(addr, 6502);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    per la classe Server invece ho scritto
    codice:
    public class Server extends Thread {
    	public static final int PORT=6502;
    	Server(){
    		start();	
    	}
    	public void run(){
    		 ServerSocket s;
    		try {
    			s = new ServerSocket(PORT);
    	        do
    	        {
    	            Socket socket = s.accept();
    	            try
    	            {
    	                new SingoloThread(socket);
    	            }
    	            catch(IOException e)
    	            {
    	                socket.close();
    	            }
    	        } while(true);
    		} catch (IOException e1) {
    			System.err.println("IO Exception");
    		}
    	}
    }
    
    	class SingoloThread extends Thread{
    		private Socket socket;
    		private BufferedReader in;
    		private PrintWriter out;
    		
    		SingoloThread(Socket s) throws IOException {
    			socket = s;
    	        in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    	        out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
    	        start(); // Chiama run()
    		}
    		public void run() {
    			out.println("Ci sono");
    	}
    	}
    ho creato 2 classi Server per realizzare il MultiThreading.

    il problema però è che il Client non si riesce a connettere al Server

    queto l'errore
    codice:
    java.net.ConnectException: Connection refused: connect
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(Unknown Source)
    	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    	at java.net.PlainSocketImpl.connect(Unknown Source)
    	at java.net.SocksSocketImpl.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.<init>(Unknown Source)
    	at java.net.Socket.<init>(Unknown Source)
    	at gccbClient.CCClient.main(CCClient.java:21)
    Exception in thread "main" java.lang.NullPointerException
    	at gccbClient.CCClient.main(CCClient.java:27)
    dove sbaglio?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Cosa vuol dire che hai creato 2 classi server? Il server può (e deve) essere solo uno a cui tutti i client si connettono.
    Due server non possono rimanere in ascolto sulla stessa porta.

    Per quanto riguarda l'eccezione che hai postato, devi controllare alcune cose:
    1) Il server è attivo al momento del tentativo di connessione da parte del client? Controlla che non sia andato in errore (se hai provato a lanciare 2 server in ascolto sulla stessa porta uno dei due è sicuramente andato in errore e, anche se non dovrebbe, questo potrebbe aver creato problemi anche all'altro)

    2) L'indirizzo del server (memorizzato nel client sulla variabile serverName è corretto?

    3) Il server è raggiungibile dal client?

    4) (forse la causa vera e propria) Hai controllato che sulla macchina dove gira il server non ci sia di mezzo un firewall (come quello di Windows) che impedisce al client di connettersi?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.