importação java.io.*;
importação java.net. *;
importação java.util.*;
usuário público da classe {
clientSocket = zero de estática do soquete;
serverSocket = zero de estática de ServerSocket;
clientThread de estática t [] = clientThread novo [10];
cano principal público do vácuo da estática (args da corda []) {
// o porto do defeito
int port_number=2222;
se (args.length < 1)
{
System.out.println (“começando o usuário do jogo… \ número do nPort: “+port_number);
} mais {
port_number=Integer.valueOf (args [0]) .intValue ();
}
tentativa {
serverSocket = ServerSocket novo (port_number);
System.out.println (********************** COMEÇADO USUÁRIO do *** do *** do ********************** “\ n \ n \ n \ n”);
}
prendedor (IOException e)
{System.out.println (e);}
quando (verdadeiro) {
tentativa {
clientSocket = serverSocket.accept ();
System.out.println (“*** ALGUÉM *** CONETADO \ n”);
para (int i=0; i<=9; i++) {
se (==null de t [i])
{
(t [i] = clientThread novo (clientSocket, t)) .start ();
ruptura;
}
}
}
prendedor (IOException e) {
System.out.println (e);}
}
}
}
o clientThread da classe estende a linha {
BufferedReader é = zero;
PrintStream ósmio = zero;
clientSocket = zero do soquete;
clientThread t [];
Rolo aleatório = aleatório novo ();
clientThread público (clientSocket do soquete, clientThread [] t) {
this.clientSocket=clientSocket;
this.t=t;
}
o vácuo do público funciona ()
{
System.out.println (“verificação 1”);
Linha de corda;
Nome da corda;
int PY;
tentativa {
System.out.println (“verificação 2”);
é = BufferedReader novo (InputStreamReader novo (clientSocket.getInputStream ()));
System.out.println (“verificação 3”);
ósmio = PrintStream novo (clientSocket.getOutputStream ());
System.out.println (“verificação 4”);
px do int = roll.nextInt (200);
//os.println (“incorporar seu name.");
System.out.println (“verificação 5”);
nome = “convidado #” + roll.nextInt (6);
System.out.println (“verificação 6 \ n”);
System.out.println (name+ " incorporou o jogo. Seu ataque: “+ px);
System.out.println (“verificação 7”);
para (int i=0; i<=9; i++)
se (t [i]! && t do =null [i]! =this)
t [i] .os.println (do “usuário novo “+name+” *** A entrou no chat room!!! *** ");
System.out.println (“verificação 8”);
quando (verdadeiro) {
System.out.println (“verificação 9”);
linha = is.readLine ();
se (line.startsWith (“/quit”)) ruptura;
para (int i=0; i<=9; i++)
se (t [i]! =null) t [i] .os.println (“< " +name+”: “+px+ " > “+line); // alguém disse algo
}
para (int i=0; i<=9; i++)
se (t [i]! && t do =null [i]! =this) {
System.out.println (“\ n” + o nome +” saiu! \ n ");
t [i] .os.println (o “*** o usuário “+name+” está saindo do chat room!!! *** ");
}
os.println (do “*** do adeus “+name+” *** ");
para (int i=0; i<=9; i++) {
se (==this de t [i]) =null de t [i];
System.out.println (“\ nSomeone saiu! \ n”);
}
is.close ();
os.close ();
clientSocket.close ();
}
prendedor (IOException e) {};
}
}
class= >
" desobstruído " de