|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
ip4.ass4.server.TennisServer
public class TennisServer
Servern för tennisspelet, implementerar interfacet RITennis som är det objekt som klienten ser.
| Field Summary | |
|---|---|
private java.lang.String |
gamerLeft
idvärdet för klient som skall spela till vänster i nästa match som skall startas |
private java.lang.String |
gamerRight
idvärdet för klient som skall spela till höger i nästa match som skall startas |
private java.util.Queue<java.lang.String> |
gamers
klienter som väntar på motståndare |
private java.util.Map<java.lang.String,Game> |
games
pågående matcher, det finns två ingångar till varje match, nämligen opponenternas respektive idvärde |
private int |
id
frö för idtilldelning till komponenter |
private GameVariableSetter |
varSetter
|
| Fields inherited from class java.rmi.server.RemoteObject |
|---|
ref |
| Constructor Summary | |
|---|---|
TennisServer()
default konstruktor |
|
| Method Summary | |
|---|---|
int[] |
getGameData(java.lang.String id)
Returnerar info om var spelare och boll befinner sig i den match som spelaren identifierad av id deltager i. |
java.lang.String |
getSide(java.lang.String id)
Anropas av den klient som vill veta om hon spelar på vänster eller höger sida av planen |
boolean |
isMatchStarted(java.lang.String id)
Anropas av TessisInit för att få veta om match har startat med klient identifierad av id involverad. |
boolean |
isOpponentFound(java.lang.String id)
Anropas av TennisInit för att få veta om klienten identifierad med id har någon match på gång. |
static void |
main(java.lang.String[] args)
starta TennisServer usage: java TennisServer [<port>] |
TennisInit |
play()
Anropas av den klient som vill spela en match. |
void |
playerMovement(java.lang.String id,
int[] movement)
Anropas av klienten för att berätta att klienten ändrat rörelsen på racket. |
void |
stop(java.lang.String id)
Anropas av klient som avslutar ett spel, eller inte längre vill stå i kö för spel. |
| Methods inherited from class java.rmi.server.UnicastRemoteObject |
|---|
clone, exportObject, exportObject, exportObject, unexportObject |
| Methods inherited from class java.rmi.server.RemoteServer |
|---|
getClientHost, getLog, setLog |
| Methods inherited from class java.rmi.server.RemoteObject |
|---|
equals, getRef, hashCode, toString, toStub |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private int id
private java.util.Queue<java.lang.String> gamers
private java.util.Map<java.lang.String,Game> games
private java.lang.String gamerLeft
private java.lang.String gamerRight
private GameVariableSetter varSetter
| Constructor Detail |
|---|
public TennisServer()
throws java.rmi.RemoteException
java.rmi.RemoteExceptionUnicastRemoteObject| Method Detail |
|---|
public TennisInit play()
RITennis
play in interface RITennisRITennis.play()public void stop(java.lang.String id)
RITennis
stop in interface RITennisid - identifierar klientencRITennis.stop(java.lang.String)public boolean isOpponentFound(java.lang.String id)
RITennis
isOpponentFound in interface RITennisid - identifierar klienten
RITennis.isOpponentFound(java.lang.String)public boolean isMatchStarted(java.lang.String id)
RITennis
isMatchStarted in interface RITennisid - identifierar klienten
RITennis.isMatchStarted(java.lang.String)
public void playerMovement(java.lang.String id,
int[] movement)
RITennis
playerMovement in interface RITennisid - identifierar klientenmovement - [dx, dy] Möjliga värden är -1, 0 eller 1RITennis.playerMovement(java.lang.String, int[])
public int[] getGameData(java.lang.String id)
throws TennisGameException
RITennis
getGameData in interface RITennisid - identifierar klienten
TennisGameException - om opponenten avslutat matchen.RITennis.getGameData(java.lang.String)public java.lang.String getSide(java.lang.String id)
RITennis
getSide in interface RITennisid - identifierar klienten
RITennis.getSide(java.lang.String)public static void main(java.lang.String[] args)
usage: java TennisServer [<port>]
args - eventuellt portnummer, annat än default(1099)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||