Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Il client non si connette senza Eclipse

    Ciao . Ho creato un programma Client-Server su eclipse va benissimo, ora lo sto provando su un browser. Il problema ora e' che il client non si connette al server :

    Client:
    codice:
                    InetAddress addr = InetAddress.getByName("localhost"); //ip
    		Socket socket = new Socket(addr, 8080); //Port
    		
                    /*inizializza i flussi di comunicazione*/
    		out = new ObjectOutputStream(socket.getOutputStream());
    		in = new ObjectInputStream(socket.getInputStream());
    Server:
    codice:
     
    /*ALTRO CODICE*/
    try{
    s=new ServerSocket(8080);//connetto la socket alla porta stabilita
    
    //se result e' uguale a true esci dal ciclo
    while(result){
               try{
                     socket = s.accept();/*si mette in ascolto del client*/
                    client=new ClientConnect(socket);
                    client.start();
              }//fine try
    	catch(IOException e){
    		break;
    	}//fine catch
                
    }//fine while
    }//fine try
    	catch(IOException e){
    		e.printStackTrace();
    	}
    	catch(InterruptedException e){
    		e.printStackTrace();
    	}
    	finally{
    		try{
    			socket.close();
    			s.close();
    		}
    I risultati del client sono questi:
    addr = localhost/127.0.0.1
    Socket[addr=localhost/127.0.0.1,port=8080,localport=52607]

    Mentre il server da questi risultati:
    ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080]

    Se lo eseguo su eclipse invece nel client il localport e' uguale a 8080, quando lo eseguo nel browser va su 52607. Non capisco il motivo.

    Grazie mille

  2. #2
    Facendo il debug si blocca su in e non va avanti, appena chiudo il server il client si sblocca e mi dice che il server non e' connesso:
    codice:
    in = new ObjectInputStream(socket.getInputStream());

  3. #3
    Mi da questo errore, se centra con le autorizzazioni e' strano visto che sono firmate:
    codice:
    java.io.EOFException
    	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
    	at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
    	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    	at java.io.ObjectInputStream.<init>(Unknown Source)
    	at test.prova.init(prova.java:31)
    	at test.prova.<init>(prova.java:16)
    	at test.prova.main(prova.java:39)

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Hai postato tutto meno la parte più importante: la parte lato server che inizializza i propri oggeti Input e Output stream.

    Un tip importante: l'apertura dei canali input/output va fatta in modo incrociato tra client e server. Ciò significa che, se nel server ottieni prima l'input e poi l'output, nel client devi fare il contrario, cioè ottenere prima l'output e poi l'input.


    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.