From 46faf71ed48bcf9411b30607636e2aede27444b3 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期五, 15 一月 2021 16:12:27 +0800 Subject: [PATCH] 修复Request解析应答的问题,指针声明时未分配空间,不能直接写入 --- hbusc.go | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hbusc.go b/hbusc.go index 50f0012..24aeb0b 100644 --- a/hbusc.go +++ b/hbusc.go @@ -413,7 +413,7 @@ } } -func (h *BHBus) Request(serverId string, req *MsgInfo, milliSecs int) (resp *MsgInfo, err error) { +func (h *BHBus) Request(serverId string, req *MsgInfo, milliSecs int) (*MsgInfo, error) { //1.棣栧厛闇�瑕侀�氳繃topic鎷垮埌鏈満瀵瑰簲鐨凬etNode rNodes, err := h.GetNetNodeByTopic(serverId, &req.SrcProc, req.Topic) h.printLog("topic", req.Topic, "rNodes:", rNodes, "err:", err) @@ -430,9 +430,11 @@ n := h.sockWorker.sock.SendandrecvTimeout(rNodes, data,&ret, milliSecs) h.printLog("Request n: ", n, " len(ret): ", len(ret)) + if n > 0 && len(ret) > 0 { - if err = json.Unmarshal(ret[0].Data, resp); err == nil { - return resp, nil + var resp MsgInfo + if err = json.Unmarshal(ret[0].Data, &resp); err == nil { + return &resp, nil } else { h.printLog("unmarshal ret[0].Data err:", err) return nil, err -- Gitblit v1.8.0