import java.io.*;
Import java.net. *;
Import java.util.*;
Import java.util. Scanner;
allgemeiner Kategorie Bediener {
statisches EinfaßungsclientSocket = -null;
statisches ServerSocket serverSocket = Null;
statisches Schnur responseLine;
allgemeines statisches Boolesches stillServ = falsch;
allgemeiner statischer Scanner-Scanner;
statisches clientThread t [] = neues clientThread [10];
allgemeine Staticlückenhauptleitung (Schnur args []) {
// der Rückstellungshafen
int port_number=4444;
wenn (args.length < 1)
{
System.out.println („, Spielbediener… \ nPort Zahl beginnend: „+port_number);
Scanner-Scanner = neuer Scanner (System.in);
} sonst {
port_number=Integer.valueOf (args [0]) .intValue ();
}
Versuch {
serverSocket = neues ServerSocket (port_number);
System.out.println („\ n ********************** \ n *** BEDIENER BEGONNENES *** \ n ********************** \ n“);
}
Fang (IOException e)
{System.out.println (e);}
System.out.print („einen Befehl eingeben: ");
Schnurkennwort = scanner.nextLine ();
wenn (password.equalsIgnoreCase („Geheimnis“)) {
System.out.println („Willkommen zur Java-Anwendung“);
}
während (zutreffend) {
Versuch {
clientSocket = serverSocket.accept ();
System.out.println („*** JEMAND VERBUNDENES *** \ n“);
für (int i=0; i<=9; i++) {
wenn (t [i] ==null)
{
(t [i] = neues clientThread (clientSocket, t)) .start ();
Bruch;
}
}
}
Fang (IOException e) {
System.out.println (e);}
}
}
}
Kategorie clientThread verlängert Gewinde {
BufferedReader ist = Null;
PrintStream OS = Null;
EinfaßungsclientSocket = -null;
clientThread t [];
Gelegentliche Rolle = neues gelegentliches ();
allgemeines clientThread (Einfaßung clientSocket, clientThread [] t) {
this.clientSocket=clientSocket;
this.t=t;
}
Öffentlichkeitslücke laufen ()
{
Schnurlinie;
Schnurname;
int PY;
Versuch {
= ist neues BufferedReader (neues InputStreamReader (clientSocket.getInputStream ()));
OS = neues PrintStream (clientSocket.getOutputStream ());
int px = roll.nextInt (200);
//os.println („Ihr name.") eintragen;
Name = „Gast #“ + roll.nextInt (6);
System.out.println (name+ " hat das Spiel eingetragen. Ihr Angriff: „+ px);
für (int i=0; i<=9; i++)
wenn (t [i]! =null && t [i]! =this)
t [i] .os.println („*** betrat A neuer Benutzer „+name+“ den Chat-Room!!! *** ");
während (zutreffend) {
Linie = is.readLine ();
wenn (line.startsWith („/quit“)) Bruch;
für (int i=0; i<=9; i++)
wenn (t [i]! =null) t [i] .os.println („< " +name+“: „+px+ " > „+line); // jemand sagte etwas
}
für (int i=0; i<=9; i++)
wenn (t [i]! =null && t [i]! =this) {
System.out.println („\ n“ + Name +“ hat verlassen! \ n ");
t [i] .os.println („*** der Benutzer „+name+“ lässt den Chat-Room!!! *** ");
}
os.println („*** Tschüss „+name+“ *** ");
für (int i=0; i<=9; i++) {
wenn (t [i] ==this) t [i] =null;
System.out.println („\ nSomeone hat verlassen! \ n“);
}
is.close ();
os.close ();
clientSocket.close ();
}
Fang (IOException e) {};
}
} erhalten |