Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2013, 16:55
jordiet_83
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 10 años, 7 meses
Puntos: 0
Como hacer este soket acepte más de un cliente

Hola normalmente leo este foro pero no me he registrado hasta ahora. Estoy empezando en el mundo de java y no se como resolver este problema. Este codigo es para un socket para comunicarse entre dos pcs como un chat. Mi pregunta es, ya que funciona como cliente servidor, cómo hacer que acepte más de un cliente, es decir, hacerlo multihilo?

Código:
import java.net.ServerSocket;
import java.net.Socket;


public class ServidorDiccionario {

public static int PUERTO = 22222;
public static String DICCIONARIO_POR_DEFECTO = "general"; // Nombre del diccionario por defecto (usa el fichero "general.dic")

public static void main(String[] args) {
Diccionario diccionarioGeneral = new Diccionario(DICCIONARIO_POR_DEFECTO);
diccionarioGeneral.cargar(); // Cargar contenido del diccionario

Socket conexionCliente; // Socket con la conexión al cliente
GestorCliente gestor; // Objeto al que se delega la gestión del diálogo con el cliente
try {
System.out.println("SERVIDOR. creando socket de escucha en puerto " + ServidorDiccionario.PUERTO);
ServerSocket conexion = new ServerSocket(ServidorDiccionario.PUERTO)…

while (true) { // Bucle aceptando conexiones
System.out.print("SERVIDOR. esperando conexion ... ");
conexionCliente = conexion.accept();	// El objeto de tipo ServerSocket acepta la conexion una vez identifica datos de // llegada en el puerto de escucha. El metodo accept() devuelve un objeto de tipo // socket (es decir, la conexion TCP con el cliente) y deja el canal de comunicacion // BLOQUEADO!!!
System.out.println(" cliente conectado");

// Crea un "gestorCliente" que procesara las peticiones del cliente
gestor = new GestorCliente(conexionCliente, diccionarioGeneral);
gestor.dialogoCliente();
// Fin conexion
conexionCliente.close();
}
} catch (Exception e) {
System.err.println("ERROR en conexion del servidor.");
System.err.println(e.getMessage());
System.exit(0);
}
}

}
No se por donde empezar, ¿talvez modificando el bucle para recibir infinitas peticiones? Agradeceria si me podeis orientar un poco.

Un saludo y gracias.