liuxiaolong
2021-01-07 c14c59a2d04ee10f47c28fa9058a961cd07aacdd
sbusClient.go
@@ -12,9 +12,17 @@
   nodes []bhomebus.NetNode
}
type ProcInfo struct {
   Name          string             `json:"name"` // 进程名称
   ID            string             `json:"id"`   // 进程唯一标识
   Info          string             `json:"info"` // 进程的描述信息,用于区分同一进程名称下多个进程
}
type MsgInfo struct {
   SrcProc        ProcInfo            `json:"srcProc"`       // 源进程基本信息
   MsgType         string             `json:"msgType"`        // 数据类型,可为请求、发布、订阅、应答等
   Topic          string            `json:"topic"`         //请求主题
   Body          []byte            `json:"body"`         //请求内容
   Body          []byte            `json:"body"`         //请求内容或者反馈结果
}
type request struct {
@@ -154,10 +162,17 @@
   defer s.Close()
   var ret []bhomebus.Mesg
   if n := s.SendandrecvTimeout(nodes, data, &ret, 5000);n == 0 {  //n==0表示没有请求成功
      return nil, fmt.Errorf("s.SendandrecvTimeout result n:%d", n)
      return nil, fmt.Errorf("doReq s.SendandrecvTimeout result n:%d", n)
   } else {
      logPrint("doReq SendandrecvTimeout n:", n)
      if len(ret) > 0 {
         return ret[0].Data, nil
         var retMsg MsgInfo
         err = json.Unmarshal(ret[0].Data, &retMsg)
         if err != nil {
            logPrint("doReq unmarshal to MsgInfo err:", err)
            return nil, err
         }
         return retMsg.Body, nil
      }
      return nil, fmt.Errorf("no any response")
   }