Java Chat Server Tutorial

Chat servere tradisjonelt la to eller flere brukere å kommunisere en-mot-en gjennom tekstlige meldinger på sine datamaskiner. I hovedsak lytter en chat-server for innkommende meldinger og sender utgående meldinger. I Java, kan du opprette en chat-server klasse som tar brukerdefinerte input og output bekker allerede tilordnet serieporter, lytter etter innkommende meldinger fra en annen datamaskin og sender utgående meldinger som er opprettet av brukeren.

Bruksanvisning

1 Sett opp grunnleggende chat klient og funksjonsdefinisjoner:

import

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

public class ChatClient strekker Frame implementerer kjørbart {
offentlig ChatClient (String tittel, Input jeg, OutputStream o) {}
public void run () {}
public static void Sendmessage (String msg) {}
}

2 Sett opp grunnleggende klient og tråd lytteren som klassens konstruktør. Denne konstruktøren tar en inngang (variabel "i") og utgangsstrøm (variabel "o"), konverterer dem til bufret datastrømmer og starter en lytter tråd for å vente på meldinger:

// ChatClient klassevariabler
beskyttet Datainput i;
beskyttet Dataoutputstream o;
beskyttet Tråd lytteren;

offentlig ChatClient (Input jeg, OutputStream o) {
dette.Jeg = new Datainputstream (new BufferedInputStream (i))

this.o = new Dataoutputstream (new BufferedOutputStream (o));
lytteren = ny tråd (denne);

listener.start ();

}

3 Definer "run" metoden, som utføres når lytteren tråden begynner. Denne metoden sjekker inngangsdatastrømmen, legger innkommende data til "mottatt" streng og avsluttes når tilkoblingen lukkes.

public void run () {

String mottatt = new String ();

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

}

4 Definer en "Sendmessage" -funksjon, som vil sende data over utgangstilkobling i form av en streng:

public void Sendmessage (String msg) {

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

Hint

  • Dette er bare et skjelett modell av en mulig chat server gjennomføring. Annen funksjonalitet som grafiske grensesnitt, bilder eller andre chat overvåkingsverktøy kan legges.