importación java.io.*;
importación java.net. *;
importación java.util.*;
servidor público de la clase {
clientSocket = falta de información estáticos del zócalo;
serverSocket = falta de información estáticos de ServerSocket;
clientThread estático t [] = nuevo clientThread [10];
cañería pública del vacío de los parásitos atmosféricos (args de la secuencia []) {
// el puerto del defecto
internacional port_number=2222;
si (args.length < 1)
{
System.out.println (“comenzando el servidor del juego… \ el número del nPort: “+port_number);
} {
port_number=Integer.valueOf (args [0]) .intValue ();
}
intento {
serverSocket = nuevo ServerSocket (port_number);
System.out.println (********************** COMENZADO SERVIDOR \ n del *** \ n del *** del ********************** \ n “\ n”);
}
retén (IOException e)
{System.out.println (e);}
mientras que (verdad) {
intento {
clientSocket = serverSocket.accept ();
System.out.println (“*** ALGUIEN *** CONECTADO \ n”);
para (internacional i=0; i<=9; i++) {
si ==null (de t [i])
{
(t [i] = nuevo clientThread (clientSocket, t)) .start ();
rotura;
}
}
}
retén (IOException e) {
System.out.println (e);}
}
}
}
el clientThread de la clase extiende el hilo de rosca {
BufferedReader es = falta de información;
PrintStream OS = falta de información;
clientSocket = falta de información del zócalo;
clientThread t [];
Rodillo al azar = nuevo al azar ();
clientThread público (clientSocket del zócalo, clientThread [] t) {
this.clientSocket=clientSocket;
this.t=t;
}
el vacío del público funciona ()
{
System.out.println (“cheque 1”);
Línea de secuencia;
Nombre de la secuencia;
internacional PY;
intento {
System.out.println (“cheque 2”);
es = nuevo BufferedReader (nuevo InputStreamReader (clientSocket.getInputStream ()));
System.out.println (“cheque 3”);
OS = nuevo PrintStream (clientSocket.getOutputStream ());
System.out.println (“cheque 4”);
px de la internacional = roll.nextInt (200);
//os.println (“introducir su name.");
System.out.println (“cheque 5”);
nombre = “huésped #” + roll.nextInt (6);
System.out.println (“cheque 6 \ n”);
System.out.println (name+ " ha incorporado el juego. Su ataque: “+ px);
System.out.println (“cheque 7”);
para (internacional i=0; i<=9; i++)
¡si (t [i]! ¡&& t [i] del =null! =this)
¡t [i] .os.println (“nuevo usuario “+name+” del *** A entró en la sala de chat!!! *** ");
System.out.println (“cheque 8”);
mientras que (verdad) {
System.out.println (“cheque 9”);
línea = is.readLine ();
si (line.startsWith (“/quit”)) rotura;
para (internacional i=0; i<=9; i++)
¡si (t [i]! =null) t [i] .os.println (“< " +name+”: “+px+ " > “+line); // alguien dijo algo
}
para (internacional i=0; i<=9; i++)
¡si (t [i]! ¡&& t [i] del =null! =this) {
¡System.out.println (“\ n” + el nombre +” se ha ido! \ n ");
¡t [i] .os.println (el “*** el usuario “+name+” está saliendo de la sala de chat!!! *** ");
}
os.println (“*** del adiós “+name+” del *** ");
para (internacional i=0; i<=9; i++) {
si ==this (de t [i]) =null de t [i];
¡System.out.println (“\ nSomeone se ha ido! \ n”);
}
is.close ();
os.close ();
clientSocket.close ();
}
retén (IOException e) {};
}
}
class= >
" claro " de