liuxiaolong
2021-01-15 46faf71ed48bcf9411b30607636e2aede27444b3
修复Request解析应答的问题,指针声明时未分配空间,不能直接写入
1个文件已修改
8 ■■■■■ 已修改文件
hbusc.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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拿到本机对应的NetNode
    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