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