This commit is contained in:
孟帅
2023-03-13 17:00:46 +08:00
parent ab912d0ba6
commit 1acc6d17c4
51 changed files with 2777 additions and 1024 deletions

View File

@@ -0,0 +1,39 @@
package tcp
import (
"encoding/json"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/net/gtcp"
"github.com/gogf/gf/v2/util/gconv"
)
type RouterHandler func(args ...interface{})
// Message 路由消息
type Message struct {
Router string `json:"router"`
Data interface{} `json:"data"`
}
func SendPkg(conn *gtcp.Conn, message *Message) error {
b, err := json.Marshal(message)
if err != nil {
return err
}
return conn.SendPkg(b)
}
func RecvPkg(conn *gtcp.Conn) (*Message, error) {
if data, err := conn.RecvPkg(); err != nil {
return nil, err
} else {
var msg = new(Message)
if err = gconv.Scan(data, &msg); err != nil {
return nil, gerror.Newf("invalid package structure: %s", err.Error())
}
if msg.Router == "" {
return nil, gerror.Newf("message is not routed: %+v", msg)
}
return msg, err
}
}