package conn import ( "angel_server/consts" "angel_server/extra" "fmt" "log/slog" "net" "os" "os/signal" "syscall" ) func Start_serv() { consts.Logger.Info("Starting tcp listener...") ln, err := net.Listen("tcp", fmt.Sprintf(":%d", extra.Port)) if err != nil { consts.Logger.Error("Error occurred during server start:", slog.Any("error", err)) return } defer ln.Close() stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt, syscall.SIGTERM) go func() { <-stop consts.Logger.Info("Shutting down server...") ln.Close() os.Exit(0) }() for { conn, err := ln.Accept() if err != nil { consts.Logger.Error("Error accepting connection:", slog.Any("error", err)) continue } go handleConnection(conn) } }