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