Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [JAVA] Client - Server

  1. #1

    [JAVA] Client - Server

    Ho realizzato un semplicissima applicazione CLIENT - SERVER
    Solo che il server ed il client non comunicano per niente...

    Qualcuno sa dirmi dove sbaglio?

    ------------------------------------------------- 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(5700);
    while(true){
    Socket connectionSocket=welcomeSocket.accept();
    BufferedReader inFromClient=new BufferedReader(new InputStreamReader(connectionSocket.getInputStream( )));

    DataOutputStream outToClient= new DataOutputStream(connectionSocket.getOutputStream( ));
    clientSentence = inFromClient.readLine();
    capitalizedSentence=clientSentence.toUpperCase() + '\n';
    outToClient.writeBytes(capitalizedSentence);
    System.out.print(clientSentence);

    }
    }

    }
    ---------------------------------- 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));
    Socket clientSocket = new Socket ("127.0.0.1",5700);

    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
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Beh... è semplice: quando il server parte rimane in attesa di una connessione. Quando il client si connette rimane in attesa di dati da parte del server... il problema è che anche il server rimane in attesa di dati di input dal client... questo si chiama DEADLOCK!

    Per correggere il problema devi fare in modo che uno dei due cominci a trasmettere dei dati all'altro, mentre l'altro rimane in attesa di dati...


    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

  3. #3
    Un aiutino sulle modifiche?

    Grazie!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    No, mi sono sbagliato!... ora che rileggo il codice non è quello il problema... Me lo ricopio (indentandolo) e me lo guardo. Lo provo e poi ti faccio sapere.

    PS: La prossima volta usa i TAG [*CODE][*/CODE] per il codice, così mantiene l'indentazione e il formato del carattere, rendendolo così più leggibile.


    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

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Ho fatto le prove e a me il tuo codice funziona perfettamente.

    Cos'è che a te non funziona?


    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

  6. #6
    Apro il server...
    Apro il Client...

    e non succede niente...

  7. #7

  8. #8

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Eh già... il client aspetta che tu digiti qualcosa...


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