```
feat(socket): 添加服务器优雅退出机制 在 Server 结构体中新增 quit 字段,并在 OnTick 方法中检查该字段, 若为 true 则调用 os.Exit(0) 实现程序正常退出。同时清理了 controller 中 冗余的导入和无用逻辑,优化 server 启动流程并修复 RPC 客户端传递错误问题。 ```
This commit is contained in:
@@ -82,21 +82,19 @@ func Start(serverid uint16) {
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to determine port: %v", err)
|
||||
}
|
||||
ser := socket.NewServer(
|
||||
socket.WithCORS(),
|
||||
socket.WithPort(port),
|
||||
|
||||
socket.WithSocketHandler(head))
|
||||
// go func() {
|
||||
t := rpc.StartClient(serverid, uint16(port), new(controller.LogicClient))
|
||||
t := rpc.StartClient(serverid, uint16(port), ser)
|
||||
|
||||
controller.Maincontroller.RPCClient = *t //将RPC赋值Start
|
||||
controller.Maincontroller.Port = uint16(port) //赋值服务器ID
|
||||
|
||||
blservice.NewLoginServiceService().SetServerID(serverid, gconv.Uint16(port), t)
|
||||
socket.
|
||||
NewServer(
|
||||
socket.WithCORS(),
|
||||
socket.WithPort(port),
|
||||
|
||||
socket.WithSocketHandler(head)).
|
||||
Boot()
|
||||
ser.Boot()
|
||||
|
||||
} else {
|
||||
go rpc.StartServer()
|
||||
|
||||
Reference in New Issue
Block a user