diff --git a/common/rpc/rpc.go b/common/rpc/rpc.go index 8661b070f..a797da1ad 100644 --- a/common/rpc/rpc.go +++ b/common/rpc/rpc.go @@ -8,6 +8,7 @@ import ( "net/http" "github.com/filecoin-project/go-jsonrpc" + "github.com/gogf/gf/v2/frame/g" ) const rpcaddr = "127.0.0.1:40000" @@ -70,13 +71,13 @@ func StartServer() { rpcServer := jsonrpc.NewServer(jsonrpc.WithReverseClient[ClientHandler]("")) rpcServer.Register("", &ServerHandler{}) - + g.Log().Debug(context.Background(), "jsonrpc server start") // go time.AfterFunc(3000, func() { // testjsonrpc() // }) err := http.ListenAndServe(rpcaddr, rpcServer) - fmt.Println(err) + g.Log().Debug(context.Background(), "jsonrpc server fail", err) } var closer jsonrpc.ClientCloser diff --git a/logic/controller/controller.go b/logic/controller/controller.go index 662a3cdeb..fb77b6994 100644 --- a/logic/controller/controller.go +++ b/logic/controller/controller.go @@ -32,13 +32,16 @@ type Controller struct { } } -func (h *Controller) KickPerson(a int) error { +type LogicClient struct { +} + +func (h *LogicClient) KickPerson(a int) error { fmt.Println("检测到踢人请求", a) service.KickPlayer(uint32(a)) return nil } -func (h *Controller) QuitSelf(a int) error { +func (h *LogicClient) QuitSelf(a int) error { //TODO 这里待退出 fmt.Println("检测到退出请求") @@ -203,12 +206,10 @@ func Recv(c gnet.Conn, data handler.TomeeHeader) { ret := cmdlister.Call(params) - r := entity.NewConn(c) //这里实现新增客户端 - if len(ret) <= 0 { //如果判断没有参数,那就说明这个包没有返回参数 return } - + r := entity.NewConn(c) //这里实现新增客户端 aa, ok := ret[1].Interface().(service.OutInfo) //判断错误 if ok && aa != nil { //这里实现回复错误包 diff --git a/logic/controller/login.go b/logic/controller/login.go index 3c19d3627..e5eb14ccb 100644 --- a/logic/controller/login.go +++ b/logic/controller/login.go @@ -1,6 +1,7 @@ package controller import ( + "blazing/common/data/entity" "blazing/common/data/share" "blazing/logic/service" "blazing/logic/service/login" @@ -20,8 +21,13 @@ func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) (result *maps. share.ShareManager.SetUserOnline(data.Head.UserID, h.Port) //设置用户登录服务器 t.CompleteLogin() //通知客户端登录成功 - c.Write(data.Def()) //TODO 这里实现fake数据 + r := entity.NewConn(c) //这里实现新增客户端 + r.SendPack(data.Def()) + + } else { + err = &login.LoginErr{} + return } return } diff --git a/logic/controller/systemtime.go b/logic/controller/systemtime.go index 498aadbb4..f5bc202b0 100644 --- a/logic/controller/systemtime.go +++ b/logic/controller/systemtime.go @@ -8,5 +8,6 @@ import ( func (h Controller) SystemTimeInfo(data *SystemTime.InInfo, c *entity.Player) (result *SystemTime.OutInfo, err service.OutInfo) { result = SystemTime.NewOutInfo() + return } diff --git a/logic/server.go b/logic/server.go index f9ccc9f26..6302c9bdd 100644 --- a/logic/server.go +++ b/logic/server.go @@ -72,7 +72,7 @@ func Start(serverid uint16) { } // go func() { - t := rpc.StartClient(serverid, uint16(port), controller.Maincontroller) + t := rpc.StartClient(serverid, uint16(port), new(controller.LogicClient)) //TODO 待实现掉线重新连接login controller.Maincontroller.RPCClient = *t //将RPC赋值Start controller.Maincontroller.Port = uint16(port) //赋值服务器ID diff --git a/logic/service/SystemTime/TimeErr.go b/logic/service/SystemTime/TimeErr.go new file mode 100644 index 000000000..6b7909fba --- /dev/null +++ b/logic/service/SystemTime/TimeErr.go @@ -0,0 +1,17 @@ +package SystemTime + +import "blazing/common/socket/errorcode" + +type TimeErr struct { +} + +func (h *TimeErr) Code() errorcode.ErrorCode { + + return errorcode.ErrorCodes.ErrInvalidPassword + +} +func (h *TimeErr) Error() string { + + return "登录失败" + +} diff --git a/logic/service/login/LoginErr.go b/logic/service/login/LoginErr.go new file mode 100644 index 000000000..2f3218aa6 --- /dev/null +++ b/logic/service/login/LoginErr.go @@ -0,0 +1,19 @@ +package login + +import ( + "blazing/common/socket/errorcode" +) + +type LoginErr struct { +} + +func (h *LoginErr) Code() errorcode.ErrorCode { + + return errorcode.ErrorCodes.ErrLoginFailed + +} +func (h *LoginErr) Error() string { + + return "登录失败" + +}