Guten Tag zusammen, erstmal zu meiner Lage. Ich muss momentan für die Uni ein 4 Gewinnt im GUI programmieren, soweit kein Problem. Nun soll ich dies aber als zwei Spieler mit einer RMI programmieren. Einen Server + Client habe ich bereits, nur leider ist es nicht komplett synchronisiert und ich weiß nicht weiter.

Ich habe im Server als erstes einen Chip auf Spalte 1 gesetzt, dieser wird aber nicht zum Client synchronisiert. Wenn ich aber im Client auf Spalte 1 drücke, fällt er im Server auf meinen bereits vorhanden Chip(wird also nur im Server synchronisiert). Nun weiß ich nicht wie ich dies auch auf den Client übertragen kann.
Mein Code:
Server Client Interface:
[/CODE]
Chip setzen lassen
Server und Client Einteilung(werden in einem Menü per Buttons aufgerufen)
Ich hoffe ihr habt eine Idee um mir bei meinem Problem weiterzuhelfen.
MfG

Ich habe im Server als erstes einen Chip auf Spalte 1 gesetzt, dieser wird aber nicht zum Client synchronisiert. Wenn ich aber im Client auf Spalte 1 drücke, fällt er im Server auf meinen bereits vorhanden Chip(wird also nur im Server synchronisiert). Nun weiß ich nicht wie ich dies auch auf den Client übertragen kann.
Mein Code:
Server Client Interface:
Code:
public interface CSInterface extends Remote {
public void setzeChip(int y) throws RemoteException;
public int chipGesetzt() throws RemoteException;
}
Verknüpfung:
[CODE]public class Spielfeld extends UnicastRemoteObject implements CSInterface{
CSInterface service;
....
Chip setzen lassen
Code:
Spielfeld() throws RemoteException {
super();
// Frame initializion
spalte1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setzeChip(0);
try {
service.setzeChip(0);
} catch(Exception ex){
}
}
});
...
Code:
public void serverstart() throws RemoteException, MalformedURLException, NotBoundException {
Registry registry = LocateRegistry.createRegistry(49153);
registry.rebind("4gewinnt", this);
System.out.println("Server wurde gestartet");
}
public void clientstart() throws RemoteException, NotBoundException, MalformedURLException {
service = (CSInterface) Naming.lookup("rmi://localhost:49153/4gewinnt");
System.out.println("Client hinzugefügt");
}
MfG