Estoy realizando el código de un Servidor de Noticias, en ese Servidor, he de notificar a todos aquellos que estén registrados en un canal, que ha sido introducido un nuevo mensaje en el canal en el que está inscrito.
 
Para ello, después de realizar una inserción de un mensaje, tengo la siguiente función de notificar.  
 Cita:  public void NotificacionFinal(String opcion) throws IOException{
 
        // De la cadena opción, tomo el nombre del canal en el que escribo
	String PartesOp[]=opcion.split("-");
	String buzon = PartesOp[1];
 
        // Me hago una copia del buzón
	Buzon copia;
	copia = dat.DevuelveBuzon(buzon);
 
	// ME HAGO UNA COPIA DE LOS LECTORES QUE ESTÁN REGISTRADOS EN ESE CANAL
	Vector<String> copialectores = null;
	copialectores = dat.DevuelveLectoresBuzon(copia);
 
	// CREO UN VECTOR CON TODOS LOS USUARIOS REGISTRADOS EN EL SERVIDOR
 
	Vector<Usuario> copiaregistrados = null;
	copiaregistrados = dat.DevuelveUsuariosRegistradosServidor();
 
	// Este bucle comentado, busca las coincidencias, el bucle está bien y detecta el número de notificaciones que tengo que realizar
	/*
	enviarAlCliente("Buscamos lectores registrados");
	for (int i = 0; i < copiaregistrados.size(); i++){
		for ( int j = 0; j < copialectores.size(); j++){
			if ( copialectores.elementAt(j).compareTo(copiaregistra  dos.elementAt(i).getNick().toString()) == 0)
				enviarAlCliente("Una NOTIFICACION");
		}
	*/	
 
// AQUÍ VIENE EL PROBLEMA
 
// CON EL MISMO BUCLE DE ANTES, SIGUE ENCONTRANDO EL NÚMERO DE NOTIFICACIONES CORRECTAS, PERO ESTÁ MANDANDO A TODOS LOS USUARIOS TANTAS CADENAS DE TEXTO COMO NOTIFICACIONES TENGO QUE HACER
 
 
	for (int i = 0; i < copiaregistrados.size(); i++){
		for ( int j = 0; j < copialectores.size(); j++){
			String n1 = null;
			Socket sock = null;
			if ( copialectores.elementAt(j).compareTo(copiaregistra  dos.elementAt(i).getNick().toString()) == 0)
				n1 = copiaregistrados.elementAt(i).getNick();
				sock = copiaregistrados.elementAt(i).getSocket();
				PrintWriter notificador = new PrintWriter(sock.getOutputStream(),true);
				notificador.println("NUEVOS MENSAJES EN LOS BUZONES");
		}
	}
    Es decir, los bucles, saben correctamente cuántas notificaciones tienen que realizar, el problema, es que las realiza mal. 
Por ejemplo. 
Tengo registrados los usuarios A,B,C,D,E y F 
Y en el Canal 1 tengo registrados como lectores a A y B. 
En el momento que salta esta función tras añadir un mensaje al Canal 1, detecta perfectamente que hay que realizar DOS notificaciones. El problema, es que a A le llega que hay que hacer DOS notificaciones y como a A, a todos los usuarios registrados del servidor aunque no estén apuntados a ese canal. 
¿Alguna idea de donde puede estar el problema? 
Lo ideal seria que al usuario A solo le llegase su notificación, a el usuario B la suya, y el resto no tuviesen ninguna noticia sobre los cambios realizados en un canal en el que no están registrados. 
Gracias 
Un Saludo!