📄 servidor.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package controlador;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.logging.Level;import java.util.logging.Logger;import vista.ventanaServidor;/** * * @author Camilo Andres */public class servidor extends Thread{ /**Puerto por donde el servidor recibira conexiones.**/ public static int PORT=4500; //-----serversockeet que recibira conexiones cliente. private ServerSocket server; /**bandera para controlar la vida del hilo del servidor**/ private boolean finConexion; /**ventana para administrar el servidor*/ private ventanaServidor miVentana; //--------------------------------------------------------------------------- /** * constructor donde se instancia el serverSoCket con el p * @throws java.io.IOException */ public servidor(ventanaServidor miVentana) throws IOException { super(); server=new ServerSocket(PORT); this.miVentana=miVentana; finConexion=false; start(); } /** * metodo por medio del cual el servidor recibira las conexiones entrantes * cuando un cliente se conecta crea un hilo qu lo atienda. */ public void run() { Socket con=null; //el servidor corre mientras finConexion sea false while(finConexion==false) { try { //el servidor espera una conexion y crea el socket cuando //haya una. //agrega el evento al ventana del servidor. miVentana.agregarEvento("Esperando Conexion"); con = server.accept(); //datos del cliente conectado. String conn="IP cliente:"+con.getInetAddress().getCanonicalHostName()+" -Puerto:"+con.getPort(); //agrega el evento al ventana del servidor. miVentana.agregarEvento("conexion:"+conn); miVentana.agregarConectado(conn); //crea el hilo que administrara al cliente hiloCliente h=new hiloCliente(con, this); //arranca el hilo para recibir conexiones. h.start(); //h.enviarListaArchivos(); System.out.println("listo"); } catch (IOException ex) { ex.printStackTrace(); //cierra el socket creado en caso de error de E/S try { con.close(); } catch (IOException ex1) { ex.printStackTrace(); } finConexion=true; } } } /** * metodo para mostrar en la interfaz grafica lo que pasa en el servidor. * @param evento */ public void agregarEventoServidor(String evento) { miVentana.agregarEvento(evento); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -