From a1b47bf828b4555b4f351e0c25b01d98e4fa2bdb Mon Sep 17 00:00:00 2001 From: Maxim Derksen Date: Thu, 3 Mar 2022 11:30:40 +0100 Subject: [PATCH] Extended Protocol implementation --- WordleServer.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/WordleServer.java b/WordleServer.java index 18508f0..41560b8 100644 --- a/WordleServer.java +++ b/WordleServer.java @@ -44,14 +44,13 @@ public class WordleServer extends Server { @Override public void processMessage(String pClientIP, int pClientPort, String pMessage) { - String conectionID = pClientIP + ":" + Integer.toString(pClientPort); - User u = users.get(conectionID); + String connectionID = pClientIP + ":" + Integer.toString(pClientPort); + User u = users.get(connectionID); + u.setConnectionID(connectionID); if (pMessage.equals("QUIT")) { send(pClientIP, pClientPort, "+OK Bye"); close(); - } else { - send(pClientIP, pClientPort, "-ERR Command not valid in this state"); } switch (u.getState()) { @@ -61,13 +60,20 @@ public class WordleServer extends Server { if (m.equalsIgnoreCase("USER")) { m = pMessage.substring(6, pMessage.length() - 1); u.setUsername(m); - send(pClientIP, pClientPort, "+OK Bye"); + send(pClientIP, pClientPort, "+OK"); } 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()); + if (query.checkLogin(u.getUsername(), u.getPassword())) { + send(pClientIP, pClientPort, "+OK welcome"); + u.setState(3); + } else { + send(pClientIP, pClientPort, "+ERR login not valid"); + } } + } else { + send(pClientIP, pClientPort, "-ERR Command not valid in this state"); } break; case 2: