diff --git a/server.go b/server.go index 7e88116..9ccbe1e 100644 --- a/server.go +++ b/server.go @@ -3,6 +3,7 @@ package server import ( "fmt" "io" + "log" "net" "sync" "sync/atomic" @@ -119,7 +120,7 @@ func runServer(s *server) { func handleConnection(s *server, conn io.ReadWriteCloser, clientAddr string) { defer s.stopWg.Done() - + log.Printf("Connected: %s", clientAddr) stopChan := make(chan struct{}) go s.serverHandler.Handle(clientAddr, conn, stopChan) @@ -128,5 +129,9 @@ func handleConnection(s *server, conn io.ReadWriteCloser, clientAddr string) { close(stopChan) conn.Close() return + case <-stopChan: + conn.Close() + log.Printf("Disconnected: %s", clientAddr) + return } }