2024-01-16 08:56:52 +01:00
|
|
|
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)
|
|
|
|
}
|
|
|
|
}
|