added all necessary documentation to Protocol.java
This commit is contained in:
parent
4557b4801b
commit
9583cd56e1
@ -10,6 +10,18 @@ package ch.unibas.dmi.dbis.cs108.multiplayer.helpers;
|
|||||||
*/
|
*/
|
||||||
public class Protocol {
|
public class Protocol {
|
||||||
|
|
||||||
|
//GENERAL PROTOCOL RULES:
|
||||||
|
/**
|
||||||
|
* Protocol messages should always start with five characters (these are the
|
||||||
|
* Strings listed here). If additional information is necessary, it should be
|
||||||
|
* given after a dollar sign, as such: {@code PRTCL$information}.
|
||||||
|
* It should be noted that the server simply ignores the 6th character, however
|
||||||
|
* for clarity's sake it should always be a $.
|
||||||
|
* The client does not need to send who they are, since the server will receive
|
||||||
|
* any client message on its dedicated clientHandler thread.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
//BIDIRECTIONAL COMMANDS:
|
//BIDIRECTIONAL COMMANDS:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -18,6 +30,7 @@ public class Protocol {
|
|||||||
*/
|
*/
|
||||||
public static final String pingBack = "PINGB";
|
public static final String pingBack = "PINGB";
|
||||||
|
|
||||||
|
|
||||||
//CLIENT TO SERVER COMMANDS:
|
//CLIENT TO SERVER COMMANDS:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,19 +51,28 @@ public class Protocol {
|
|||||||
public static final String clientLogin = "LOGIN";
|
public static final String clientLogin = "LOGIN";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo:doc
|
* Client requests their name to be changed to whatever follows {@code NAMEC$}. For example,
|
||||||
|
* {@code NAMEC$Poirot} means the client wants to change their name to Poirot. However,
|
||||||
|
* the server will first pass this name through nameDuplicateChecker.checkName() to adjust it
|
||||||
|
* as needed (remove : and $ and add suffix in case of duplicate name.)
|
||||||
*/
|
*/
|
||||||
public static final String nameChange = "NAMEC";
|
public static final String nameChange = "NAMEC";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo:doc
|
* Client sends ping message to server. If the client doesn't recieve a pingback from the
|
||||||
|
* server, it shows a disconnection message and sets clientPinger.isConnected to false,
|
||||||
|
* which can be implemented somehow later. As soon as a pingback message is received,
|
||||||
|
* isConnected is set to true again and a reconnection message is printed.
|
||||||
*/
|
*/
|
||||||
public static final String pingFromClient = "CPING";
|
public static final String pingFromClient = "CPING";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo: doc
|
* The client requests to quit. Once the server receives this message, it will send
|
||||||
|
* a serverConfirmQuit message to the client to confirm the quitting, then close the
|
||||||
|
* socket associated with that client and remove the clientHandler from the list of
|
||||||
|
* clientHandlers.
|
||||||
*/
|
*/
|
||||||
public static final String clientQuitRequest = "QUITS";
|
public static final String clientQuitRequest = "QUITR";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: enable for client
|
* TODO: enable for client
|
||||||
@ -70,11 +92,14 @@ public class Protocol {
|
|||||||
*/
|
*/
|
||||||
public static final String listLobbies = "LISTL";
|
public static final String listLobbies = "LISTL";
|
||||||
|
|
||||||
|
|
||||||
//SERVER TO CLIENT COMMANDS
|
//SERVER TO CLIENT COMMANDS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo: doc
|
* Server sends ping message to client. If the server doesn't recieve a pingback from the
|
||||||
* //sends a pingback to the server
|
* client, it shows a disconnection message and sets serverPinger.isConnected to false,
|
||||||
|
* which can be implemented somehow later. As soon as a pingback message is received,
|
||||||
|
* isConnected is set to true again and a reconnection message is printed.
|
||||||
*/
|
*/
|
||||||
public static final String pingFromServer = "SPING";
|
public static final String pingFromServer = "SPING";
|
||||||
|
|
||||||
@ -86,17 +111,19 @@ public class Protocol {
|
|||||||
public static final String printToClientConsole = "CHATM";
|
public static final String printToClientConsole = "CHATM";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo:doc
|
* Server confirms the client's quit request, meaning that the client can now close its
|
||||||
|
* sockets and quit.
|
||||||
*/
|
*/
|
||||||
public static final String serverConfirmQuit = "QUITC";
|
public static final String serverConfirmQuit = "QUITC";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo:doc
|
* The server requests the client (who should be a ghost) to vote on the victim.
|
||||||
*/
|
*/
|
||||||
public static final String serverRequestsGhostVote = "GVOTR";
|
public static final String serverRequestsGhostVote = "GVOTR";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo:doc
|
* The server requests the client (who should be a human) to vote on who is a ghost /
|
||||||
|
* who should be kicked off the train.
|
||||||
*/
|
*/
|
||||||
public static final String serverRequestsHumanVote = "HVOTR";
|
public static final String serverRequestsHumanVote = "HVOTR";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user