package main import ( "errors" "flag" "log" "net/http" "os" ) func main() { var pool Pool pool.logger = log.New(os.Stdout, "[DCS] ", log.Ldate|log.Ltime) var flagTCP = flag.String("tcp",":12345","Listen [address]:port for the TCP listener.") var flagHTTP = flag.String("http",":8888","Listen [addres]:port for the HTTP listener.") flag.Parse() pool.tcp_port = *flagTCP pool.http_port = *flagHTTP http.HandleFunc("/", pool.getRoot) pool.logger.Println("Starting TCP listener on",pool.tcp_port) go pool.tcplistener() pool.logger.Println("Starting HTTP listener on",pool.http_port) err := http.ListenAndServe(pool.http_port, nil) if errors.Is(err, http.ErrServerClosed) { pool.logger.Println("server closed.") } else if err != nil { pool.logger.Printf("error starting server: %s\n", err) os.Exit(1) } }