Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    63

    Metodo readline()

    Salve a tutti avrei un piccolo ma fastidioso problema:

    Devo creare una semplice chat con 3 client senza utilizzare thread. Una volta che i 3 client si sono connessi possono inviare messaggi, quando un client invia messaggi, gli altri due client ricevno i messaggi. Il mio problema è che sul server per leggere dal buffer uso il metodo readline() e quindi finchè tutti e tre non avranno inviato un messaggio non potro inviare niente dal server. Come posso ovviare a questo?

    codice:
    client0 = listIn.get(0).readLine(); 			
    client1 = listIn.get(1).readLine(); 			
    client2 = listIn.get(2).readLine();

  2. #2

    Re: Metodo readline()

    Originariamente inviato da 87Fra87
    Salve a tutti avrei un piccolo ma fastidioso problema:

    Devo creare una semplice chat con 3 client senza utilizzare thread. Una volta che i 3 client si sono connessi possono inviare messaggi, quando un client invia messaggi, gli altri due client ricevno i messaggi. Il mio problema è che sul server per leggere dal buffer uso il metodo readline() e quindi finchè tutti e tre non avranno inviato un messaggio non potro inviare niente dal server. Come posso ovviare a questo?

    codice:
    client0 = listIn.get(0).readLine(); 			
    client1 = listIn.get(1).readLine(); 			
    client2 = listIn.get(2).readLine();
    Prova a fare un test prima con il metodo public boolean ready().
    Dovrebbe restituire true se il buffer non è vuoto, quindi il relativo client ha scritto qualcosa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    63
    Grazie era proprio il metodo che mi serviva ho sistemato tutto.....un ultima info sto testando la chat ho lanciato da terminale la classe server su un portatile (con ubuntu) sullo stesso ho fatto partire due client mentre su pc fisso (con windwos 7) ho fatto partire il terzo client. Ho riscontrato un piccolo problema cioè quando sul terminale del fisso scrivo qualcosa non visualizza i caratteri se poi faccio poi invio il messaggio viene inviato ai due client...come mai non riesco a leggere quello che scrivo sul terminale del fisso invece sugli altri due client funziona tutto perfettamente?

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.