Sockets

hola a todos en internet estuve navegando y encontre este ejercicio en java lo que trata con sockets pero ahora me dio la curiosidad k con la direc ip enviamos mensajes la tarea es k el servidor pueda recepcionar el envio de 3 maquina.

tendria que usar hilos ?

SERVIDOR

public static void main(String[] args) throws IOException {
// TODO code application logic here
ServerSocket servidor_UTEA=new ServerSocket(5000);
System.out.println("Servidor Iniciando");
Socket cliente=servidor_UTEA.accept();
DataInputStream leer=new DataInputStream(cliente.getInputStream());
System.out.println("El mensaje recibido fue : " + leer.readUTF());
cliente.close();

}

CLIENTE
public static void main(String[] args) throws IOException {
// TODO code application logic here
Socket cliente=new Socket("10.0.1.82",5000);
System.out.println("Cliente Iniciado");
DataOutputStream envio=new DataOutputStream(cliente.getOutputStream());
envio.writeUTF("hola amigoS:");

}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

El código de ese servidor despacha todo en un solo hilo. Si dos o más clientes quieren conectarse al mismo tiempo, sólo uno será atendido, porque de hecho ni siquiera hay un ciclo para aceptar varias conexiones. Pero si lo hubiera (metes desde el accept() hasta el close en un while(true)), entonces se aceptaría una conexión, se lee el mensaje, y luego se acepta la siguiente conexión.

Para poder recibir varios mensajes de manera simultánea, hay varias soluciones:

  • Implementar el patrón de hilo-por-conexión (el accept sólo recibe el socket y arranca una tarea en un hilo aparte para atender esa conexión)
  • Implementar hilo por conexión pero con un thread pool (en vez de arrancar un nuevo hilo por cada socket recibido, se encolan como tareas en un threadpool)
  • usar NIO y en un mismo ciclo recibir conexiones y leer datos, así no hay que usar hilos.

En mi blog puse algo de java.nio y java.io por si lo quieres leer.

Imagen de Algus Dark

--EDIT-- No entendí muy bien

--EDIT--
No entendí muy bien al principio lo que pedías, ya te contestó @ezamudio. Yo cuando inicié con los sockets utilicé el siguiente ejemplo:
Ejemplo Sockets

Espero te pueda servir.

Saludos.