This commit is contained in:
Maxim Derksen 2022-03-03 10:46:03 +01:00
commit e4037082bd
2 changed files with 34 additions and 5 deletions

1
.gitignore vendored
View File

@ -33,3 +33,4 @@ engine-alpha.log
/git.iml
/out/
/.idea/.gitignore
/.idea/libraries/sqlite_jdbc_3_36_0_3.xml

View File

@ -1,3 +1,4 @@
import java.util.HashMap;
/**
* Server für das WORDLE Spiel.
@ -13,7 +14,7 @@ public class WordleServer extends Server {
private DatabaseConnector db;
private List<User> userList;
private HashMap<String,User>users;
private Query query;
@ -25,15 +26,16 @@ public class WordleServer extends Server {
super(pPort);
query = new Query();
db = new DatabaseConnector("", 0, "wordle.db", "", "");
userList = new List<User>();
users = new HashMap<>();
}
@Override
public void processNewConnection( String pClientIP, int pClientPort ) {
String connectionID= pClientIP +":"+ Integer.toString(pClientPort);
User u = new User(connectionID);
userList.append(u);
users.put(connectionID,u);
send(pClientIP,pClientPort,"+OK Verbindung zum Wordle Server erfolgreich aufgebaut");
u.setState(1);
}
@ -45,11 +47,37 @@ public class WordleServer extends Server {
@Override
public void processMessage( String pClientIP, int pClientPort, String pMessage ) {
if(pMessage.equals("QUIT")){
send(pClientIP,pClientPort,"+OK Bye");
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;
}
}
}