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++;
}
}
}