Aham, ok !!! Y tu podrias, ya sabiendo lo que necesito, podrias aplicarmelo en el script de arriba ? Esque eso es un ejemplo que vi en internet, y como yo nose mucho de java, no me aclaro en aplicar el metodo del for que recorra el list y envie el mensaje. He visto este link:
http://stackoverflow.com/questions/1...to-all-sockets y ahi esta como implementar una lista añadiendo clientes dentro del while y ademas en el Script Server de un usuario que respondió, tiene dentro del script esto:
Código Java:
Ver originalprotected void sendMessage
(String message
) { outputWriter.println(message);
}
private void sendToAnyone
(String message
) {
for (ConnectionService connection : connections) {
connection.sendMessage(message);
}
}
que es lo que me gustaria implementar en mi codigo, porque entiendo que una es la funcion que recorre todo el list en este caso llamado connections, y el otro envia el mensaje con outputWriter, la cosa es que no se, siempre me da errores por un sitio u otro, tu podrias arreglarmelo ? Mira, lo acabo de hacer asi, nose si esta bien o mal, unicamente me da un error en el listaclientes del "private void sendToAnyone(String message)" porque listaclientes esta detro del "public class MultiEchoServer", aqui dejo el script modificado como lo he echo yo, he incluido dentro del while el "listaclientes.add(escucha);", echale un vistazo:
Código Java:
Ver originalpublic class MultiEchoServer
{
private static final int Puerto = 1121;
private static List<ClienteEscucha> listaclientes = new ArrayList<ClienteEscucha>();
System.
out.
println("No se puede establecer conexion con el puerto!\n"); }
do{
//En espera de un nuevo cliente
Socket cliente
= ServidorSocket.
accept();
System.
out.
println("Nuevo cliente aceptado.\n");
ClienteEscucha escucha = new ClienteEscucha(cliente);
escucha.start();
listaclientes.add(escucha);
}while (true);
}
}
class ClienteEscucha
extends Thread{
public ClienteEscucha
(Socket socket
){ cliente = socket;
try{
salida
= new PrintWriter(cliente.
getOutputStream(),
true); }
e.printStackTrace();
}
}
public void run()
{
try{
do{
recibido = entrada.readLine();
salida.println(recibido);
}while (!recibido.equals("QUITAR"));
}
e.printStackTrace();
}
finally{
try{
if (cliente!=null){
System.
out.
println("Cerrando la conexion del servidor...\n"); cliente.close();
}
}
e.printStackTrace();
}
}
}
protected void sendMessage
(String message
) { salida.println(message);
}
private void sendToAnyone
(String message
) {
for (ClienteEscucha connection : listaclientes) {
connection.sendMessage(message);
}
}
}