From b987605cfbbb5ca7b3b4bda0b5a5fdb34c53c8dd Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 5 Oct 2024 15:27:40 +0300 Subject: feat: basic server connection handling --- internal/server/handler.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 internal/server/handler.go (limited to 'internal/server/handler.go') diff --git a/internal/server/handler.go b/internal/server/handler.go new file mode 100644 index 0000000..68a7cd2 --- /dev/null +++ b/internal/server/handler.go @@ -0,0 +1,32 @@ +package server + +import ( + "net" + "sync" + + "github.com/kyren223/eko/internal/utils/log" +) + +func handleClient(conn net.Conn, wg *sync.WaitGroup) { + log.Info("Handling client... %v", conn.RemoteAddr().String()) + defer log.Info("Disconnecting client: %v", conn.RemoteAddr().String()) + defer conn.Close() + defer wg.Done() + + var request []byte + n, err := conn.Read(request) + if err != nil { + log.Error("Failed reading: %v", err) + return + } + log.Info("Read %v bytes: %v", n, string(request)) + + response := []byte("Server response") + n, err = conn.Write(response) + if err != nil { + log.Error("Failed writing response: %v", err) + return + } + log.Info("Responded successfully") +} + -- cgit v1.3.1