(Properly) added push and pull Stats

This commit is contained in:
Maxim Derksen
2022-03-03 11:20:18 +01:00
parent e4037082bd
commit 6c863aa7fc
2 changed files with 94 additions and 77 deletions

View File

@@ -5,79 +5,79 @@ import java.util.HashMap;
*/
public class WordleServer extends Server {
public static final int DEFAULT_PORT = 1000;
public static final int DEFAULT_PORT = 1000;
public static void main( String[] args ) {
new WordleServer();
}
public static void main(String[] args) {
new WordleServer();
}
private DatabaseConnector db;
private DatabaseConnector db;
private HashMap<String, User> users;
private Query query;
private HashMap<String,User>users;
private Query query;
public WordleServer() {
this(DEFAULT_PORT);
}
public WordleServer(int pPort) {
super(pPort);
query = new Query();
db = new DatabaseConnector("", 0, "wordle.db", "", "");
users = new HashMap<>();
}
public WordleServer() {
this(DEFAULT_PORT);
}
@Override
public void processNewConnection(String pClientIP, int pClientPort) {
String connectionID = pClientIP + ":" + Integer.toString(pClientPort);
User u = new User(connectionID);
users.put(connectionID, u);
send(pClientIP, pClientPort, "+OK Verbindung zum Wordle Server erfolgreich aufgebaut");
u.setState(1);
public WordleServer( int pPort ) {
super(pPort);
query = new Query();
db = new DatabaseConnector("", 0, "wordle.db", "", "");
users = new HashMap<>();
}
}
@Override
public void processNewConnection( String pClientIP, int pClientPort ) {
String connectionID= pClientIP +":"+ Integer.toString(pClientPort);
User u = new User(connectionID);
users.put(connectionID,u);
send(pClientIP,pClientPort,"+OK Verbindung zum Wordle Server erfolgreich aufgebaut");
u.setState(1);
@Override
public void processClosingConnection(String pClientIP, int pClientPort) {
}
}
@Override
public void processClosingConnection( String pClientIP, int pClientPort ) {
@Override
public void processMessage(String pClientIP, int pClientPort, String pMessage) {
String conectionID = pClientIP + ":" + Integer.toString(pClientPort);
User u = users.get(conectionID);
if (pMessage.equals("QUIT")) {
send(pClientIP, pClientPort, "+OK Bye");
close();
} else {
send(pClientIP, pClientPort, "-ERR Command not valid in this state");
}
}
@Override
public void processMessage( String pClientIP, int pClientPort, String pMessage ) {
String conectionID = pClientIP + ":" + Integer.toString(pClientPort);
User u = users.get(conectionID);
if(pMessage.equals("QUIT")) {
send(pClientIP, pClientPort, "+OK Bye");
close();
} else {
send(pClientIP,pClientPort,"-ERR Command not valid in this state");
}
switch(u.getState()){
case 1:
//Anmeldephase
String m = pMessage.substring(0,3);
if(m.equalsIgnoreCase("USER")){
m = pMessage.substring(6,pMessage.length()-1);
u.setUsername(m);
} else if(m.equalsIgnoreCase("PASS")){
m = pMessage.substring(6,pMessage.length()-1);
u.setPassword(m);
}
break;
case 2:
//Spielphase
break;
case 3:
//Zwischenphase(Angemeldet)
break;
}
}
switch (u.getState()) {
case 1:
// Anmeldephase
String m = pMessage.substring(0, 3);
if (m.equalsIgnoreCase("USER")) {
m = pMessage.substring(6, pMessage.length() - 1);
u.setUsername(m);
send(pClientIP, pClientPort, "+OK Bye");
} else if (m.equalsIgnoreCase("PASS")) {
m = pMessage.substring(6, pMessage.length() - 1);
u.setPassword(m);
if (u.getPassword() != null && u.getUsername() != null) {
query.checkLogin(u.getUsername(), u.getPassword());
}
}
break;
case 2:
// Spielphase
break;
case 3:
// Zwischenphase(Angemeldet)
break;
}
}
}