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

    [JAVA] Realizzare una Chat testuale - Client/Server

    Ciao a tutti, mi servirebbe un aiuto con un esercizio di reti da svolgere con Java. Sono alle prime armi sia con Java che con la programmazione per i socket di rete..

    Dovrei realizzare un server che permetta di eseguire un chat testuale tra due client.
    Se non ho capito sbagliato, la parte più importante è il server, che riceve una stringa da un client e la ridireziona verso l'altro client collegato.

    Attualmente ho disponibile il codice esempio di un client che invia una stringa alfanumerica verso un server, questo la legge e rimanda il medesimo messaggio mettendo però le lettere in maiuscolo.
    Il client non mi sembra quindi da modificare, perchè la parte di letture dei dati scritti dall'utente e spedizione verso il server già la esegue.
    Il server di esempio però rimandava la stringa verso il clientr di partenza, mentre nell'esercizio che devo svolgere, deve rimandarla all'altro client.
    Il client conosce in anticipo l'indirizzo ip del server.
    Come posso modificare il codice per far si che si possa fare ciò ?

    Metto qui sotto i codici del client e il codice del server che ho come esempio

    codice:
    SERVER
    
    import java.io.*; 
    import java.net.*; 
    
    class TCPServer { 
    
      public static void main(String argv[]) throws Exception 
        { 
          String clientSentence; 
          String capitalizedSentence; 
    
          ServerSocket welcomeSocket = new ServerSocket(6860); 
      
          while(true) { 
      
               Socket connectionSocket = welcomeSocket.accept(); 
    
               System.out.println("connesso con " + 
    		connectionSocket.getInetAddress());
    
               BufferedReader inFromClient = 
                  new BufferedReader(new
                  InputStreamReader(connectionSocket.getInputStream())); 
    
    	    DataOutputStream  outToClient = 
                 new DataOutputStream(connectionSocket.getOutputStream()); 
    
               clientSentence = inFromClient.readLine(); 
    
               System.out.println("FROM CLIENT: " + clientSentence); 
    
               capitalizedSentence = clientSentence.toUpperCase() + '\n'; 
    
               System.out.println("TO CLIENT: " + capitalizedSentence); 
    
               outToClient.writeBytes(capitalizedSentence); 
            } 
        } 
    }
    - - - - - - -

    codice:
    CLIENT
    import java.io.*; 
    import java.net.*; 
    class TCPClient { 
    
        public static void main(String argv[]) throws Exception 
        {
            String sentence;
            String modifiedSentence;
    
            BufferedReader inFromUser =
              new BufferedReader(new InputStreamReader(System.in));
    
    	for (int i=0; i < argv.length; i++)
            	System.out.println("argv[" + i + "]" + argv[i]); 
    
            Socket clientSocket = new Socket(argv[0], 6860);
    
            DataOutputStream outToServer = 
              new DataOutputStream(clientSocket.getOutputStream()); 
    
              BufferedReader inFromServer = 
              new BufferedReader(new
              InputStreamReader(clientSocket.getInputStream())); 
    
            sentence = inFromUser.readLine(); 
    
            outToServer.writeBytes(sentence + '\n'); 
    
            modifiedSentence = inFromServer.readLine(); 
    
            System.out.println("FROM SERVER: " + modifiedSentence); 
    
            clientSocket.close(); 
                       
        } 
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    ti consiglio di indicizzare tutti gli utenti connessi alla chat e di allegare ad ogni mess spedito il suo dest così il server sa a chi deve spedire.
    In rete sul suo sito c'era una chat di NetArrow con interfaccia

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 © 2024 vBulletin Solutions, Inc. All rights reserved.