From 63790c069fbca0c3548fdaa58148e6cefdf477d5 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Mon, 6 Jan 2025 18:23:41 +0200 Subject: Server and client now properly handle the same user logging in from different locations, fixed the issue where it'd only work for the first time by checking if the addresses match before remove the session --- internal/server/server.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'internal/server/server.go') diff --git a/internal/server/server.go b/internal/server/server.go index 495b2a5..f510821 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -196,7 +196,10 @@ func (server *server) handleConnection(conn net.Conn) { }() defer func() { conn.Close() - server.RemoveSession(sess.ID()) + sameAddress := addr.String() == server.Session(sess.ID()).Addr().String() + if sameAddress { + server.RemoveSession(sess.ID()) + } log.Println(addr, "disconnected") }() -- cgit v1.3.1