Top Banner
SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen
9

SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

Apr 06, 2015

Download

Documents

Godehard Lahner
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

SAM – Projekt AlcatrazFossati Christian

Schramek Stefan

Strobl Michael

Vogel Sebastian

Zornig Jürgen

Page 2: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

2© 2011 FH Technikum Wien

Architektur

Spieler 1

Spieler 2 Spieler 3

Spieler 4

Client Kommunikation

Registrierung

Spread Group

Master

Slave

Slave

Slave

Spread

Daemon

Spread

Daemon

Spread

DaemonRMI

Registry

RMI

Registry

RMI

Registry

RMI

Registry

Spread

Daemon

Grober Ablauf:

1. Clients registrieren sich an einem Master Registrierungsserver

2. Spiel über P2P Verbindungen ohne Serverbeteiligung

Page 3: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

3© 2011 FH Technikum Wien

Ablauf Registrierungsserver - Client

ClientStart

Register

Server voll

Spiel nicht voll

Client wartet auf Spielstart

zu wenig Teilnehmer OK

abmelden

Server voll

Server init. Spiel

Spiel gestartet

Force Start

Page 4: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

4© 2011 FH Technikum Wien

Ablauf Client to ClientSpiel

gestartet

Benutzer Eingabe (GUI)

Zug

Zug an Spieler 1

Zug an Spieler n

[Timeout]ja

nein

Fehlermeldung an restliche Spieler

Nächster Spieler an der Reihe

Bin ich am Zug

nein

Warten auf Zug

Page 5: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

5© 2011 FH Technikum Wien

Start Server

Master existiert Master Server

Backup initialisieren

Backup Server

Synchronisation über Spread

Nein

Ja

Spread

Lookup Client

Serverausfälle

Page 6: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

Registry Server

interface IRegistryServer {PlayerAdapter createPlayer(String name)

throws NameAlreadyInUseException;void register(PlayerAdapter player)

throws GameRegistryException;void unregister(PlayerAdapter player)

throws GameRegistryException;void forceStart(PlayerAdapter player)

throws GameStartException;}

6© 2011 FH Technikum Wien

Interfaces

Page 7: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

Client

interface IClient { void reportNewMaster(String host, int port);

bool isAlive() throws RemoteException;

bool startGame(List<IClient> players) throws GameStartException;

void doMove(Player player, Prisoner prisoner, int rowOrCol, int row, int col) throws MoveException;

void yourTurn(); void playerAbsent(PlayerAdapter player);}

7© 2011 FH Technikum Wien

Interfaces

Page 8: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

Hilfsklasse Assoziiert Player mit seinem

jeweiligen Client Stub Wird vom RegistryServer erstellt dadurch systemweit einheitliche

PlayerID´s

8© 2011 FH Technikum Wien

PlayerAdapter

Page 9: SAM – Projekt Alcatraz Fossati Christian Schramek Stefan Strobl Michael Vogel Sebastian Zornig Jürgen.

Danke für eure Aufmerksamkeit

9© 2011 FH Technikum Wien