From f18874069ecdbe65ad88f8a0df59db858d85d4dc Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期三, 23 十二月 2020 10:50:03 +0800
Subject: [PATCH] 发送心跳使用Sendandrecv模式
---
hbusc.go | 31 +++++++++++++++++++++----------
1 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/hbusc.go b/hbusc.go
index f3532bf..75c9ae2 100644
--- a/hbusc.go
+++ b/hbusc.go
@@ -123,7 +123,7 @@
return nil, errors.New("marshal registerInfo err:"+err.Error())
}
dRegData,err := json.Marshal(MsgInfo{
- MsgType: "",
+ MsgType: MesgType_ReqRep,
Topic: TOPIC_REGISTER,
Body: rid,
})
@@ -303,7 +303,7 @@
data, err := json.Marshal(*info)
if err == nil {
hbd,err := json.Marshal(MsgInfo{
- MsgType: "",
+ MsgType: MesgType_ReqRep,
Topic: TOPIC_HEARTBEAT,
Body: data,
})
@@ -311,18 +311,29 @@
h.printLog("marshal heartbeat msgInfo err:", err)
return err
}
- return h.send2(h.sockHB, hbd, h.conf.sendTimeOut)
+ var rMsg []bhomebus.Mesg
+ hbAddr := append([]bhomebus.NetNode{}, bhomebus.NetNode{
+ Key: h.sockHB.peer,
+ })
+ n := h.sockHB.sock.Sendandrecv(hbAddr, hbd, &rMsg) //n浠h〃鎴愬姛鍙戦�佺殑鑺傜偣鐨勪釜鏁�
+
+ if n > 0 {
+ return nil
+ } else {
+ h.printLog("sockHB.Sendandrecv n:", n, "len(rMsg):", len(rMsg))
+ return fmt.Errorf("sockHB Sendandrecv ret n:%d", n)
+ }
}
return err
}
-func (h *BHBus) send2(s *sockClient, data []byte, timeout int) error {
- n := s.sock.SendtoTimeout(data, s.peer, timeout)
- if n == 0 {
- return nil
- }
- return errors.New("SendtoTimeout n:"+strconv.Itoa(n))
-}
+//func (h *BHBus) send2(s *sockClient, data []byte, timeout int) error {
+// n := s.sock.SendtoTimeout(data, s.peer, timeout)
+// if n == 0 {
+// return nil
+// }
+// return errors.New("SendtoTimeout n:"+strconv.Itoa(n))
+//}
//鏇存柊涓婚鍒楄〃
func (h *BHBus) UpdateNodeTopics(arr []NodeInfo) {
--
Gitblit v1.8.0