liuxiaolong
2020-01-14 0a79992edbc0406d274626c5ad86691b7c5c1fa7
mangos.go
@@ -55,33 +55,30 @@
               discoveryServer.PublishMsg(string(sendB))
            }
         default:
            nodeIds := discoveryServer.AliveNodes().ToSlice()
            if len(nodeIds) >0 {
               //for _,nodeId := range nodeIds {
               //   if _,ok := clientMsgCh[nodeId]; !ok {
               //      clientMsgCh[nodeId] = make(chan Message)
               //   }
               //}
            nodeIds := discoveryServer.AliveNodes()
               if cacheNodes.Cardinality() == 0 { //第一次有上线的节点
                  if len(msgCache) > 0 {
                     for _,cMsg := range msgCache {
                        sendB, _ := json.Marshal(cMsg)
                        discoveryServer.PublishMsg(string(sendB))
                     }
            //for _,nodeId := range nodeIds {
            //   if _,ok := clientMsgCh[nodeId]; !ok {
            //      clientMsgCh[nodeId] = make(chan Message)
            //   }
            //}
            if len(cacheNodes.Difference(nodeIds).ToSlice()) > 0 { //节点有变化的时候,也需要发消息
               fmt.Println("aliveNodes:",nodeIds)
               if len(msgCache) > 0 {
                  for _,cMsg := range msgCache {
                     sendB, _ := json.Marshal(cMsg)
                     discoveryServer.PublishMsg(string(sendB))
                  }
               }
               cacheNodes = discoveryServer.AliveNodes()
            } else {
               cacheNodes = discoveryServer.AliveNodes()
               time.Sleep(10 * time.Millisecond)
            }
            cacheNodes = discoveryServer.AliveNodes()
         }
      }
   }()
   go func() {
   }()
   return pub,nil
}