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

1
.gitignore vendored
View File

@@ -33,3 +33,4 @@ engine-alpha.log
/git.iml /git.iml
/out/ /out/
/.idea/.gitignore /.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. * Server für das WORDLE Spiel.
@@ -13,7 +14,7 @@ public class WordleServer extends Server {
private DatabaseConnector db; private DatabaseConnector db;
private List<User> userList; private HashMap<String,User>users;
private Query query; private Query query;
@@ -25,15 +26,16 @@ public class WordleServer extends Server {
super(pPort); super(pPort);
query = new Query(); query = new Query();
db = new DatabaseConnector("", 0, "wordle.db", "", ""); db = new DatabaseConnector("", 0, "wordle.db", "", "");
userList = new List<User>(); users = new HashMap<>();
} }
@Override @Override
public void processNewConnection( String pClientIP, int pClientPort ) { public void processNewConnection( String pClientIP, int pClientPort ) {
String connectionID= pClientIP +":"+ Integer.toString(pClientPort); String connectionID= pClientIP +":"+ Integer.toString(pClientPort);
User u = new User(connectionID); User u = new User(connectionID);
userList.append(u); users.put(connectionID,u);
send(pClientIP,pClientPort,"+OK Verbindung zum Wordle Server erfolgreich aufgebaut"); send(pClientIP,pClientPort,"+OK Verbindung zum Wordle Server erfolgreich aufgebaut");
u.setState(1);
} }
@@ -45,11 +47,37 @@ public class WordleServer extends Server {
@Override @Override
public void processMessage( String pClientIP, int pClientPort, String pMessage ) { public void processMessage( String pClientIP, int pClientPort, String pMessage ) {
if(pMessage.equals("QUIT")){ String conectionID = pClientIP + ":" + Integer.toString(pClientPort);
send(pClientIP,pClientPort,"+OK Bye"); User u = users.get(conectionID);
if(pMessage.equals("QUIT")) {
send(pClientIP, pClientPort, "+OK Bye");
close();
} else { } else {
send(pClientIP,pClientPort,"-ERR Command not valid in this state"); 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;
}
} }
} }