Servidor.java
Categorías: CategoryJava | CategoryProgramacion |
1
2 package savetheearthsk;
3
4 import java.io.*;
5 import java.net.*;
6 import java.util.logging.Level;
7 import java.util.logging.Logger;
8
9 /**
10 * La clase servidor se basa en crear el servidor para la interconexion
11 * y poder recibir los objetos graficos desde la otra consola
12 * @author George Sebastin Parra Macias
13 * @author Luisa Fernanda Rueda Herrera
14 */
15 public class Servidor implements Runnable {
16
17 public static final int puerto = 9999;
18 private ServerSocket socketEscucha;
19 private Lienzo lienzo;
20 private CanonCliente canoncliente;
21 /**
22 * La constructora de Servidor
23 * @param Canoncliente Es el objeto gracifo de el cañon que se mostrara en el cliente
24 * @param Lienzo Agregacion de objetos graficos
25 *
26 */
27 public Servidor(CanonCliente canoncliente, Lienzo lienzo) {
28 this.canoncliente = canoncliente;
29 this.lienzo = lienzo;
30 try {
31 socketEscucha = new ServerSocket(puerto);
32 } catch (IOException ex) {
33 System.err.println("Error abriendo el socketEscucha");
34 Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
35 }
36
37 }
38
39 /**
40 * Metodo para abrir la conexion
41 */
42 public void run() {
43 Socket socket = null;
44 try {
45 socket = socketEscucha.accept();
46 } catch (IOException ex) {
47 System.err.println("Error en el accept");
48 Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
49 }
50 BufferedReader entrada = null;
51 int x = 0, y = 0;
52 try {
53 entrada = new BufferedReader(new InputStreamReader(socket.getInputStream()));
54 } catch (IOException ex) {
55 Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
56 }
57
58
59 /** Metodo para Leer los objetos
60 *
61 */
62 for (;;) {
63 try {
64 x = Integer.parseInt(entrada.readLine());
65 y = Integer.parseInt(entrada.readLine());
66 } catch (IOException ex) {
67 System.err.println("Error de io al leer del socket");
68 Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
69 }
70 canoncliente.setX(x);
71 canoncliente.setY(y);
72
73 lienzo.repaint();
74
75 }
76 //entrada.close();
77 //socket.close();
78 }
79 }
