From 141ea48aef643b2e2f7b7ed6e564365ced7a03b8 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Sat, 2 Aug 2025 00:01:53 +0500 Subject: feat: handle client connection --- internal/client.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 internal/client.go (limited to 'internal/client.go') diff --git a/internal/client.go b/internal/client.go new file mode 100644 index 0000000..164a29d --- /dev/null +++ b/internal/client.go @@ -0,0 +1,31 @@ +package ircd + +import ( + "fmt" + "log" + "net" +) + +func HandleClientConnection(conn net.Conn) { + defer conn.Close() + log.Printf("New client connected from %s\n", conn.RemoteAddr()) + + buffer := make([]byte, 512) + + for { + n, err := conn.Read(buffer) + if err != nil { + log.Printf("Error reading from client %s: %v\n", conn.RemoteAddr(), err) + return + } + + data := string(buffer[:n]) + fmt.Printf("%s sent %s\n", conn.RemoteAddr(), data) + + _, err = conn.Write([]byte("you said " + data)) + if err != nil { + log.Printf("Error sending to client %s: %v", conn.RemoteAddr(), err) + return + } + } +} -- cgit v1.2.3