Nwlapcug.com


Java Chat Server Tutorial

Server di chat permettono tradizionalmente due o più utenti di comunicare faccia a faccia attraverso messaggi di testo sul proprio computer. Essenzialmente, un server di chat è in ascolto dei messaggi in arrivo e invia i messaggi in uscita. In Java, è possibile creare una classe di Chat Server che accetta input definiti dall'utente e flussi di output già assegnate a sport seriale, ascolta i messaggi in arrivo da un altro computer e invia i messaggi in uscita creati dall'utente.

Istruzioni

1

Impostare definizioni di funzione e client di chat di base:

importare java.net. ;
importazione java.io.
;
importazione java.awt.*;

public class ChatClient extends Frame implements Runnable {
ChatClient pubblico (String title, InputStream i, o OutputStream) {}
public void run () {}
Public Shared Sub sendMessage (String msg) {}
}

2

Impostare base client e thread listener come il costruttore della classe. Questo costruttore accetta un input (variabile "i") e il flusso di output (variabile "o"), li converte in flussi di dati memorizzati nel buffer e viene avviato un thread in attesa di aspettare per i messaggi:

Variabili di classe ChatClient
protetto se io;
protetta o DataOutputStream;
listener di Thread protetta;

ChatClient pubblico (InputStream i, o OutputStream) {
1m = se nuovo (nuovo BufferedOutputStream (i))

This.o = nuovo DataOutputStream (BufferedInputStream nuovo (o));
ascoltatore = new Thread (questo);

listener.start ();

}

3

Definire il metodo di "esecuzione", che viene eseguito quando il thread di ascolto inizia. Questo metodo controlla il flusso di dati di input, aggiunge tutti i dati in ingresso alla stringa "ricevuta" e termina quando si chiude la connessione.

public void run () {

Stringa ricevuta = new String ();

try {
while (true) {
String incoming = i.readUTF ();
received += (line + "\n");
}
} catch (IOException e) {
e.printStackTrace ();
}

}

4

Definire una funzione "sendMessage", che invia i dati tramite la connessione di uscita sotto forma di una stringa:

public void sendMessage (String msg) {

o.writeUTF (msg);
o.flush ();
} catch (IOException ex) {
ex.printStackTrace();
listener.stop ();
}
}

Consigli & Avvertenze

  • Questo è solo un modello di scheletro di un'implementazione di server di chat possibile. È possibile aggiungere altre funzionalità quali interfacce GUI, immagini o altre chat strumenti di monitoraggio.