import java.io.*;
de invoer java.net. *;
de invoer java.util.*;
openbare klassenServer {
de statische Contactdoos clientSocket = verklaart nietig;
statische ServerSocket serverSocket = verklaart nietig;
statische clientThread t [] = nieuwe clientThread [10];
openbare statische nietige leiding (Koord args []) {
// de standaardhaven
int. port_number=2222;
als (args.length < 1)
{
System.out.println (het „Beginnende aantal \ van de spelserver… nPort: „+port_number);
} anders {
port_number=Integer.valueOf (args [0]) .intValue ();
}
probeer {
serverSocket = nieuwe ServerSocket (port_number);
System.out.println („\ n ********************** \ n *** SERVER BEGONNEN *** \ n ********************** \ n“);
}
vangst (IOException e)
{System.out.println (e);}
terwijl (waar) {
probeer {
clientSocket = serverSocket.accept ();
System.out.println („*** IEMAND VERBONDEN *** \ n“);
voor (int. i=0; i<=9; i++) {
als (t [I] ==null)
{
(t [I] = nieuwe clientThread (clientSocket, t)).start ();
onderbreking;
}
}
}
vangst (IOException e) {
System.out.println (e);}
}
}
}
de klasse clientThread breidt Draad uit {
BufferedReader is = nietig verklaart;
PrintStream os = verklaart nietig;
De contactdoos clientSocket = verklaart nietig;
clientThread t [];
Willekeurig broodje = nieuwe Willekeurig ();
openbare clientThread (Contactdoos clientSocket, clientThread [] t) {
this.clientSocket=clientSocket;
this.t=t;
}
openbare nietige looppas ()
{
System.out.println („Controle 1“);
De lijn van het koord;
De naam van het koord;
int. py;
probeer {
System.out.println („Controle 2“);
is = nieuwe BufferedReader (nieuwe InputStreamReader (clientSocket.getInputStream ()));
System.out.println („Controle 3“);
os = nieuwe PrintStream (clientSocket.getOutputStream ());
System.out.println („Controle 4“);
int. px = roll.nextInt (200);
//os.println („ga uw naam in. “);
System.out.println („Controle 5“);
naam = „Gast #“ + roll.nextInt (6);
System.out.println („Controle 6 \ n“);
System.out.println (name+ is " het spel ingegaan. Hun aanval: „+ px);
System.out.println („Controle 7“);
voor (int. i=0; i<=9; i++)
als (t [I]! =null && t [I]! =this)
t [I] .os.println („*** ging A nieuwe gebruiker „+name+“ de praatjeruimte in!!! ***“);
System.out.println („Controle 8“);
terwijl (waar) {
System.out.println („Controle 9“);
lijn = is.readLine ();
als (line.startsWith („/quit“)) onderbreking;
voor (int. i=0; i<=9; i++)
als (t [I]! =null) t [I] .os.println („< " +name+“: „+px+ " > „+line); // iemand zei iets
}
voor (int. i=0; i<=9; i++)
als (t [I]! =null && t [I]! =this) {
System.out.println („\ n heeft“ + naam +“ weggegaan! \ n ");
t [I] .os.println („*** de gebruiker „+name+“ verlaat de praatjeruimte!!! ***“);
}
os.println („*** tot ziens „+name+“ ***“);
voor (int. i=0; i<=9; i++) {
als (t [I] ==this) t [I] =null;
System.out.println („nSomeone \ heeft weggegaan! \ n“);
}
is.close ();
os.close ();
clientSocket.close ();
}
vangst (IOException e) {};
}
} |