Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    problema messaggi buffer client-server

    Ciao a tutti.
    Ho questa parte del mio server che manda i messaggi ai client:
    codice:
    public void run()
      {
       try
       {
        // Ricava lo stream di output associate al socket
        // e definisce una classe wrapper di tipo
        // BufferedWriter per semplificare le operazioni
        // di scrittura
       
        OutputStream s1out = cliente.getOutputStream();
        BufferedWriter bw = new BufferedWriter(
         new OutputStreamWriter(s1out));
        int num=1;
        // Il server invia la risposta al client
        
        inattivo=false;
        System.out.print("packet: "+hexString(packet));
    
        while(true){
        if(available == false){  // serve per vedere se sono stati scritti i packet che poi mando al client
        bw.write(hexString(packet)+"\n");
        num++;
        available=true;  
          }
        }
         //Chiude lo stream di output e la connessione
        
         bw.close();
        inattivo=true;
            
        System.out.println("Chiusura connessione effettuata");
       }
       catch (IOException ex)
       {
        ex.printStackTrace();
       }
       catch (Exception e)
       {
        e.printStackTrace();
       }
      }
     }
    Come vedete i messaggi sono in un ciclo infinito: while(true).
    Il mio problema sussiste quando eseguo questo server dentro una applet che contiene altri threads.
    Se faccio girare solo il server ed il client, i messaggi vengono mandati e ricevuti in tempo reale.
    Se metto il server nella mia applet e ci collego il client, i messaggi arrivano solo dopo che viene eseguito il comando bw.close(), cioè chiudo il buffer di scrittura.

    Come mai succede questo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Complicata come domanda?
    O sono stato poco chiaro?

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.