package tcp import ( "log" "net" ) type Server struct{} func NewServer() *Server { return &Server{} } func (s *Server) Listen(addr string, handler func(net.Conn)) { tcpServer, err := net.Listen("tcp", addr) if err != nil { log.Fatal(err) } defer tcpServer.Close() for { tcpServerConn, err := tcpServer.Accept() if err != nil { log.Fatal(err) } handler(tcpServerConn) } }