account.go 460 Bytes
package main

import (
	"os"
	"os/signal"
	"pro2d/actions"
	"pro2d/utils"
	"syscall"
)

func main() {
	err := make(chan error)
	stopChan := make(chan os.Signal)
	signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)

	server := actions.NewAccountServer()
	go func() {
		err <- server.Start()
	}()


	select {
	case e := <- err:
		utils.Sugar.Errorf("game server error: %v", e)
	case <-stopChan:
		// 平滑关闭服务
		server.Stop()
	}
}