Преглед изворни кода

feature:websocke添加是否启动,error判断

ZZH-wl пре 2 година
родитељ
комит
16b9f85251
3 измењених фајлова са 12 додато и 7 уклоњено
  1. 1 1
      opms_admin/app/service/websocket_manager.go
  2. 6 3
      opms_admin/main.go
  3. 5 3
      opms_libary/myerrors/error.go

+ 1 - 1
opms_admin/app/service/websocket_manager.go

@@ -14,7 +14,7 @@ import (
 )
 
 // 管理连接
-func init() {
+func CheckRun() {
 	// 检查心跳
 	go func() {
 		defer func() {

+ 6 - 3
opms_admin/main.go

@@ -6,7 +6,6 @@ import (
 	"dashoo.cn/micro/app/service"
 	"dashoo.cn/opms_libary/micro_srv"
 	"dashoo.cn/opms_libary/myerrors"
-	"fmt"
 	"github.com/gogf/gf/frame/g"
 	"github.com/gogf/gf/net/ghttp"
 	"github.com/smallnest/rpcx/protocol"
@@ -70,13 +69,17 @@ func handleAuth(ctx context.Context, req *protocol.Message, token string) error
 
 // 启动websocket服务
 func websocketStart() {
+	flag := g.Config().GetBool("setting.websocket-start", true)
+	if !flag {
+		return
+	}
 	s := g.Server()
 	s.BindHandler("/ws", func(r *ghttp.Request) {
 		id := r.GetString("uid")
-		fmt.Println(id)
 		service.CreateConnection(id, r)
 	})
+	go service.CheckRun()
 	// 配置文件获取参数
-	s.SetAddr(g.Config().GetString("setting.websocket-addr"))
+	s.SetAddr(g.Config().GetString("setting.websocket-addr", "127.0.0.1:8899"))
 	s.Run()
 }

+ 5 - 3
opms_libary/myerrors/error.go

@@ -104,9 +104,11 @@ func (p HandleErrorPlugin) getSerializeType(mes *protocol.Message) (codec.Codec,
 
 func (p HandleErrorPlugin) PreWriteResponse(ctx context.Context, req *protocol.Message, res *protocol.Message, err error) error {
 	serializer := share.Codecs[res.SerializeType()]
-	var resData g.Map
-	if serializerErr := serializer.Decode(res.Payload, &resData); serializerErr != nil {
-		return serializerErr
+	resData := make(g.Map)
+	if res.Payload != nil {
+		if serializerErr := serializer.Decode(res.Payload, &resData); serializerErr != nil {
+			return serializerErr
+		}
 	}
 
 	if err == nil {