diff --git a/Lab_4/Twidder/server.py b/Lab_4/Twidder/server.py index 11eecf98996b120df72de081e822b87b1eae8e07..956dfaa563f1b3a4f0f1c4bb9159bfb023755159 100644 --- a/Lab_4/Twidder/server.py +++ b/Lab_4/Twidder/server.py @@ -70,7 +70,6 @@ def input_has_error(input): @sock.route('/myServer/api') def echo(socket): while True: - # Making sure we have a valid socket if not socket: return @@ -97,14 +96,17 @@ def echo(socket): session[token][1].close() print("You got kicked out") session.pop(token) - lock.release() - - print(session) - # Put socket in global dict so server knows my connection is open - session[myToken] = (myEmail, socket) print(session) - socket.send(json.dumps({"action" : "signIn"})) + + if myToken in session: + # Put socket in global dict so server knows my connection is open + session[myToken] = (myEmail, socket) + socket.send(json.dumps({"action" : "signIn"})) + else: + socket.send(json.dumps({"action" : "signOut"})) + socket.close() + lock.release() @app.route("/myServer/sign_in", methods=['POST']) diff --git a/Lab_4/Twidder/static/client.js b/Lab_4/Twidder/static/client.js index 5f255d900ae71f473c12bc2fb92bd9749fc6d44d..76618fb2360fa3223bbe46b10a861cd7c30d63c3 100644 --- a/Lab_4/Twidder/static/client.js +++ b/Lab_4/Twidder/static/client.js @@ -46,8 +46,7 @@ function connectWithSocket() { // Changes the view to profile view and loads user info displayView(); - setUserDetails("home"); - + setUserDetails("home") // Establish web socket socket = new WebSocket('ws://' + document.domain + ':5000/myServer/api'); @@ -76,7 +75,11 @@ function connectWithSocket() { displayView(); document.getElementById("error").innerHTML = "Signed Out, you signed in elsewhere"; break; - case "signIn": + case "signIn":; + + // This + displayView(); + setUserDetails("home") console.log(response); console.log("ja är signed in"); break;