From 913063a73b9ffb0d0a1cf3515cec9326102e86e1 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期二, 29 十二月 2020 16:34:51 +0800 Subject: [PATCH] 添加请求注册中心的RequestCenter方法,以及获取本机所有已注册进程列表 --- hbusc.go | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/hbusc.go b/hbusc.go index 8136821..6ff4175 100644 --- a/hbusc.go +++ b/hbusc.go @@ -441,6 +441,29 @@ return nil } +func (h *BHBus) RequestCenter(req *MsgInfo) (*CommonReply, error) { + data, err := json.Marshal(*req) + if err != nil { + return nil, err + } + rNodes := append([]bhomebus.NetNode{}, bhomebus.NetNode{ + Key: KEY_QUERY, + }) + h.mtxWorker.Lock() + defer h.mtxWorker.Unlock() + var ret []bhomebus.Mesg + if n := h.sockWorker.sock.SendandrecvTimeout(rNodes, data,&ret, h.conf.sendTimeOut);n == 0 { + if len(ret) > 0 { + var cr *CommonReply + if err = json.Unmarshal(ret[0].Data, cr); err == nil { + return cr, nil + } + } + } + return nil, fmt.Errorf("request center err") +} + + //鍚戜富棰橀�氶亾涓彂甯冩秷鎭� func (h *BHBus) Pub(nodes []bhomebus.NetNode, msg *MsgInfo) error { data,err := json.Marshal(*msg) -- Gitblit v1.8.0