Serwer wątkowy - Rozsyłanie wiadomości do wszystkich podłączonych klientów

0

Witam. Napisałem aplikacje klient - serwer. Wszystko działa. Tylko mam problem z dodaniem nowej funkcjonalności. Chciałbym, aby w momencie w którym klient zmienia coś w bazie w swoim wątku , każdy z podłączonych klientów dostawał o tym informacje, a nie wiem do końca jak się za to nabrać. Byłbym wdzięczny jakby ktoś mnie na to nakierował.
Tak wygląda tworzenie serwera :

 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Hashtable;

public class Bank_Czasu_Serwer {
	
	public static void main(String[] args) throws IOException{
		Runnable runners;
		Thread threads;
		int i=1;
	    Baza_Terminarz bank;
		ServerSocket serverSocket = null; 
		Baza_Urzytkownicy Baza_Urzytkownicy;

		try { 
			serverSocket = new ServerSocket(7); 
			} 
		catch (IOException e) {
			System.err.println("Could not listen on port: 7.");
			System.exit(1); 
			
		} 
		Socket clientSocket = null; 
		
		try {
			Baza_Urzytkownicy = (Baza_Urzytkownicy) new Zapis_Odczyt_Obiekt().readObject("Baza_Urzytkownicy.db");
		} catch (IOException e) {
			Baza_Urzytkownicy = new Baza_Urzytkownicy();
		}
		
		try {
			bank = (Baza_Terminarz) new Zapis_Odczyt_Obiekt().readObject("Bank.db");
		} catch (IOException e) {
			bank = new Baza_Terminarz();
		}
		
		while(1!=0){
				
			System.out.println ("Waiting for connection.....");
			try {
				clientSocket = serverSocket.accept(); 
			} 
			catch (IOException e) { 
					System.err.println("Accept failed."); 
					try {
						serverSocket.close();
					} catch (IOException p) {
						System.out.println("Error in server shutdown");
						e.printStackTrace();
					}
					System.exit(1); 
			} 
			runners = new Bank_Czasu_Serwer_Watki(clientSocket,i,bank,Baza_Urzytkownicy);
			threads = new Thread(runners);
			threads.start();
			i++;
			
		}
	}
	 
}

0

Piszę się użytkownik przez ż.

0

Musisz mieć listę wszystkich podpiętych klientów, potem rozsyłasz do nich pętlą aktualizacje statusów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1