Java Chat Server Tutorial

March 21

Chat Server tradizionalmente consentono a due o più utenti di comunicare one-to-one attraverso messaggi testuali sui loro computer. In sostanza, un server di chat in ascolto per i messaggi in arrivo e invia messaggi in uscita. In Java, è possibile creare una classe server di chat che prende i flussi di input e output definiti dall'utente già assegnati agli sport seriali, ascolta i messaggi in arrivo da un altro computer e invia i messaggi in uscita creati dall'utente.

istruzione

1 Impostare definizioni di base client di chat e la funzione:

import

java.net.;
import java.io.;
import java.awt. *;

public class ChatClient estende Telaio implementa Runnable {
ChatClient pubblico (String titolo, InputStream i, OutputStream o) {}
public void run () {}
sendMessage public static void (msg String) {}
}

2 Impostare il client di base e ascoltatore filo come il costruttore della classe. Questo costruttore accetta un ingresso (variabile "i") e flusso di uscita (variabile "o"), li converte in tamponata flussi di dati e avvia un thread di ascolto di aspettare per i messaggi:

// variabili di classe ChatClient
DataInputStream protetto i;
protetta DataOutputStream o;
protetta ascoltatore Discussione;

ChatClient pubblico (InputStream i, OutputStream o) {
this.I = new DataInputStream (nuova BufferedInputStream (i))

this.o = new DataOutputStream (nuova BufferedOutputStream (o));
ascoltatore = new Thread (questo);

listener.start ();

}

3 Definire il metodo di "run", che viene eseguito quando inizia il thread di ascolto. Questo metodo controlla il flusso di dati di input, aggiunge tutti i dati in entrata per la stringa "ricevuto" e termina quando la connessione si chiude.

public void run () {

String ricevuto = new String ();

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

}

4 Definire una funzione "sendMessage", che invierà i dati attraverso la connessione di uscita, sotto forma di una stringa:

sendMessage public void (msg String) {

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

Consigli e avvertenze

  • Questo è solo un modello di scheletro di una possibile implementazione server di chat. Altre funzionalità quali interfacce grafiche, immagini o altri strumenti di monitoraggio di chat può essere aggiunto.