Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Chat In Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    29

    Chat In Java

    Buongiorno a tutti, sto cercando di imparare a la programmazione di rete con java e mi sono cimentato nel creare una semplice chat di tipo client-server e ho riscontrato il seguente problema: la classica finestra di una chat ha sopra la "storia" della conversazione e sotto il campo dove poter scrivere; una volta creata tale finestra ho pensato di mettere in "ascolto continuo" gli stream in ingresso da entrambi i lati e poi aggiungere in append le righe prelevate dagli stream. L'ascolto l'ho realizzato con un ciclo del genere;

    String s = new String();

    while (condizione) //tale condizione è regolata da una variabile booleana che è messa a false
    //da un JButton che termina la comunicazione
    {
    s = utenteLocale.leggiBuffer();

    conversazione.append(nomeInterlocutore + " :> " + s + "\n");
    }

    Il metodo leggiBuffer() è realizzato con quello readLine() della classe BufferedReader. Ho utilizzato un ciclo così fatto perchè sapendo che il metodo readLine è bloccante speravo che ad ogni ciclo il processo si fermasse in attesa di ricevere qualcosa. In realtà non succede questo e comincia a girare impallando tutto. Potete aiutarmi?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    penso che ti conviene utilizzare un thread a parte per la comunicazione così da non impallare il principale
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    29
    Il metodo che mi hai proposto non funziona però ho risolto utilizzando uno schedule temporale al posto del ciclo while. Ora funziona perfettamente.

  4. #4
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da giume
    Il metodo che mi hai proposto non funziona però ho risolto utilizzando uno schedule temporale al posto del ciclo while. Ora funziona perfettamente.
    dipende da come lo hai usato cmq hai risolto meglio così
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

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.