Chat Servern traditionell erlauben zwei oder mehr Benutzer auf one-on -one durch Textnachrichten auf ihren Computern zu kommunizieren. Im Grunde hört ein Chat-Server für eingehende Nachrichten und sendet ausgehende Nachrichten . In Java können Sie einen Chat-Server -Klasse, die vom Benutzer definierten Input-und Output -Streams bereits seriellen Sportarten zugeordnet nimmt zu erstellen , auf eingehende Nachrichten von einem anderen Computer und sendet ausgehende Nachrichten vom Benutzer erstellt . Things You
Java Development Kit ( JDK) brauchen
anzeigen Weitere Anweisungen
1
Einrichten grundlegende Chat-Client und Funktion Definitionen :
import java . net * ; . import java.io. *; import java.awt * ; .
public class ChatClient erstreckt Rahmen implementiert Runnable {public ChatClient ( String title , InputStream i, o OutputStream ) {} public void run () {} public static void sendMessage ( String msg ) {}}
2
Einrichten Basic-Client und Faden Hörer als Konstruktor der Klasse . Dieser Konstruktor nimmt einen Eingang ( Variable " i" ) und Output-Stream ( Variable " o" ) , wandelt sie in gepufferte Datenströme und startet eine Listening-Thread für Nachrichten warten :
//ChatClient Klasse variablesprotected DataInputStream i; geschützten DataOutputStream o ; geschützten Thema Zuhörer ;
öffentlichen ChatClient ( InputStream i, OutputStream o) { this.i = new DataInputStream (neu BufferedInputStream (i)) this.o = new DataOutputStream (neu BufferedOutputStream ( o)) ; Hörer = new Thread (this); listener.start ();}
3
Definieren Sie die "run" -Methode, die , wenn der Zuhörer beginnt Thread ausführt . Dieses Verfahren prüft die Eingangs-Datenstrom , fügt alle eingehenden Daten an den "Received" -String und endet, wenn die Verbindung geschlossen wird.
Public void run () {
String empfangen = new String ( );
try { while (true ) {String eingehenden = i.readUTF (); empfangen + = (line + "\\ n"); } } catch ( IOException e) { e.printStackTrace () ;}}
4
Definieren Sie eine Funktion "SendMessage" , die Daten über den Ausgang Verbindung in Form eines Strings sendet :
public void sendMessage ( String msg ) { o.writeUTF ( msg); o.flush (); } catch ( IOException ex) { ex.printStackTrace (); listener.stop (); }}