package server import ( "fmt" "net" ) type Server struct { addr string } func NewServer(addr string) *Server { return &Server{addr: addr} } func (s *Server) ListenAndServe() { listener, err := net.Listen("tcp", s.addr) if err != nil { fmt.Println("Error binding to address:", err) } defer listener.Close() fmt.Printf("Server listening on %s\n", s.addr) for { conn, err := listener.Accept() if err != nil { fmt.Println("Error accepting connection:", err) continue } go handleConnection(conn) } }