This commit is contained in:
孟帅
2023-05-10 23:54:50 +08:00
parent bbe655a4d8
commit 49a96750bf
314 changed files with 15138 additions and 6244 deletions

View File

@@ -1,16 +1,19 @@
package tcp
import (
"github.com/gogf/gf/v2/errors/gcode"
"context"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/gconv"
"hotgo/internal/consts"
"hotgo/internal/model/input/msgin"
)
// serverLogin 心跳
func (client *Client) serverHeartbeat() {
if err := client.Write(&msgin.ServerHeartbeat{}); err != nil {
client.Logger.Debugf(client.Ctx, "client WriteMsg ServerHeartbeat err:%+v", err)
ctx := gctx.New()
if err := client.Send(ctx, &msgin.ServerHeartbeat{}); err != nil {
client.Logger.Debugf(ctx, "client WriteMsg ServerHeartbeat err:%+v", err)
return
}
}
@@ -22,40 +25,45 @@ func (client *Client) serverLogin() {
Name: client.auth.Name,
}
if err := client.Write(data); err != nil {
client.Logger.Debugf(client.Ctx, "client WriteMsg ServerLogin err:%+v", err)
ctx := gctx.New()
if err := client.Send(ctx, data); err != nil {
client.Logger.Debugf(ctx, "client WriteMsg ServerLogin err:%+v", err)
return
}
}
func (client *Client) onResponseServerLogin(ctx context.Context, args ...interface{}) {
var in *msgin.ResponseServerLogin
if err := gconv.Scan(args[0], &in); err != nil {
client.Logger.Infof(ctx, "onResponseServerLogin message Scan failed:%+v, args:%+v", err, args[0])
return
}
if in.Code != consts.TCPMsgCodeSuccess {
client.IsLogin = false
client.Logger.Warningf(ctx, "onResponseServerLogin quit err:%v", in.Message)
client.Destroy()
return
}
client.IsLogin = true
if client.loginEvent != nil {
client.loginEvent()
}
}
func (client *Client) onResponseServerLogin(args ...interface{}) {
var in *msgin.ResponseServerLogin
if err := gconv.Scan(args[0], &in); err != nil {
client.Logger.Infof(client.Ctx, "onResponseServerLogin message Scan failed:%+v, args:%+v", err, args[0])
return
}
client.Logger.Infof(client.Ctx, "onResponseServerLogin in:%+v", *in)
if in.Code != gcode.CodeOK.Code() {
client.IsLogin = false
client.Logger.Warningf(client.Ctx, "onResponseServerLogin quit err:%v", in.Message)
client.Destroy()
return
}
client.IsLogin = true
}
func (client *Client) onResponseServerHeartbeat(args ...interface{}) {
func (client *Client) onResponseServerHeartbeat(ctx context.Context, args ...interface{}) {
var in *msgin.ResponseServerHeartbeat
if err := gconv.Scan(args[0], &in); err != nil {
client.Logger.Infof(client.Ctx, "onResponseServerHeartbeat message Scan failed:%+v, args:%+v", err, args)
client.Logger.Infof(ctx, "onResponseServerHeartbeat message Scan failed:%+v, args:%+v", err, args)
return
}
if in.Code != consts.TCPMsgCodeSuccess {
client.Logger.Warningf(ctx, "onResponseServerHeartbeat err:%v", in.Message)
return
}
client.heartbeat = gtime.Timestamp()
client.Logger.Infof(client.Ctx, "onResponseServerHeartbeat in:%+v", *in)
}