Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387

    Problema di comunicazione tra client e server

    Ciao,
    ho un problema di comunicazione tra client e server, sto provando a realizzare una chat tra un client e server,
    il problema è che non riesco a far ricevere al server il messaggio del client, vi posto il codice di entrambe le parti:

    Codice Server
    codice:
    import java.io.*;
    import java.net.*;
    
    public class ChatServer {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		
    		
    		ServerSocket srvSock;
    		try {
    			
    			
    			//Inizializzo il Server
    			srvSock = new ServerSocket(12233);
    			
    			System.out.println("Inizializzato Server: " + srvSock);
    			
    			//Inizializzo la connessione col client
    			Socket clntSock = srvSock.accept();
    			
    			System.out.println("Connessione col Client: " + clntSock);
    			
    			
    			BufferedReader in = new BufferedReader(new InputStreamReader(clntSock.getInputStream()));
    			PrintWriter out = new PrintWriter(clntSock.getOutputStream());
    			
    			BufferedReader inChat = new BufferedReader(new InputStreamReader(System.in));
    			
    			String strIn;
    			String strOut;
    			
    			//Metto in ascolto
    			
    			while(true){
    				
    				
    				strIn = in.readLine();
    				
    				
    				System.out.println("Client: " + strIn);
    				
    				
    				
    				strOut = inChat.readLine();
    				
    				
    				out.write(strOut);
    				System.out.println("Server: " + strOut);
    				
    				
    				
    			}
    			
    			
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		
    		System.exit(0);
    		
    	}
    
    }
    Codice Client

    codice:
    import java.io.*;
    import java.net.*;
    
    public class ChatClient {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		
    
    		try {
    			Socket clntSock = new Socket("localhost",12233);
    			
    			System.out.println("Client connesso: " + clntSock);
    			
    			BufferedReader inChat = new BufferedReader(new InputStreamReader(System.in));
    			BufferedReader in = new BufferedReader(new InputStreamReader(clntSock.getInputStream()));
    			PrintWriter out = new PrintWriter(clntSock.getOutputStream());
    			
    			String strChat;
    			String strIn;
    			String strOut;
    			
    			while(true){
    				strChat = inChat.readLine();
    				
    				System.out.println("Client: " + strChat);
    				
    				out.write(strChat);
    				
    				strIn = in.readLine();
    				
    				System.out.println("Server: " + strIn);
    			}
    			
    		} catch (UnknownHostException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		
    
    	}
    
    }
    Dopo aver letto la prima riga da tastiera, il client stampa a schermo il messaggio ma non invia al server, ed entrambi si bloccano,
    mi potreste aiutare a capire dove sbaglio??

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387
    mi rispondo da solo
    il problema era il metodo con cui mandavo il mex al client o al server, dovevo usare println...
    (per questa cosa ho perso un sacco di ore...) doh!

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.