Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    11

    flusso dati Socket

    Dovrei implementare un client che manda + messaggi (String) ad un server il tutto
    con un BufferedReader ed un PrintWriter .
    Il server perō non capisce quando il client ha finito di inviare la serie
    di stringhe e quindi non gli risponde , facendo stare il client impallato nell'attesa di risposta .
    L'esempi del codice č :

    Client :
    ...... output.println("riga 1 ") ; // Printwriter
    output.println("riga 2 ") ;
    output.println("riga 3 ") ;
    String f = input.readLine() ; // invia i messaggi soprastanti e attende qua




    Server :
    String h ;
    boolean flag = true ;
    while(flag)
    {
    h= input.readLine(); // BufferedReader

    if(h == null ) flag = false ;

    else processiamo la riga ;
    }

    output.println("risposta ");// dovrebbe rispondere al client ma non arriva qua


    Il problema č che flag non viene mai settato a false e no esce dal while.


    QUALKUNO POTREBBE GENTILMENTE AIUTARMI SICURAMENTE SARA' UN PROBLEMA MIO DI DISTRAZIONE O DI DIMENTICANZA .
    VI RINGRAZIO
    take take take

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    prova a forzare la spedizione del client
    output.flush();

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    11
    Ho dimenticato di scriverlo ma ho provato anke col flush() .
    Grazie lo stesso .
    Avresti per caso altre dritte ???
    take take take

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    prova a usare un BufferedWriter nel client

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    11
    Se uso il BufferedWriter e scrivo con la funzione write(String,off,len)
    al server leggendo con BufferedReader.readLine() mi da null .
    Devo usare altre funzioni ?
    Grazie
    take take take

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    forse perchč la riga non č finita
    mettici un \n alla fine

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    11
    non va nemmeno con "\n" , come costruttore del BufferedWriter ho usato :

    BufferedWriter output = new BufferedWriter(new OutputWriter(socket.getOutputStream)) ;

    e poi per inviare la stringa : output.write("ciao \n",1 ,3);

    Potresti gentilmente dirmi se č giusto .

    Sapresti per caso indicarmi un sito dove potrei trovare materiale sui Socket e qualke esempio
    possa andarmi bene .

    ci stanno sempre i soliti esempi di ecoServer ....
    Grazie di nuovo .
    take take take

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    immagino che volessi scrivere OutputStreamWriter
    se usi quel metodo write, gli mandi "iao"
    usa quello con una stringa come parametro output.write("ciao\n");

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.