From c630094a48c8aad04e0af60d6b1e8c817fa926bf Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 25 七月 2019 14:52:07 +0800
Subject: [PATCH] compareByPhoto

---
 discovery/server.go |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/discovery/server.go b/discovery/server.go
index 5844159..cedfc10 100644
--- a/discovery/server.go
+++ b/discovery/server.go
@@ -1 +1,58 @@
 package discovery
+
+import (
+	"basic.com/pubsub/protomsg.git"
+	"basic.com/valib/gopherdiscovery.git"
+	"fmt"
+	"time"
+	"webserver/extend/logger"
+	"github.com/gogo/protobuf/proto"
+)
+
+const (
+	Discovery_Server = "tcp://0.0.0.0:40008"
+	Discovery_UrlPubSub = "tcp://0.0.0.0:50008"
+)
+
+//鍚姩discovery鐨剆erver
+var discoveryServer *gopherdiscovery.DiscoveryServer
+var dbChangeChan chan *protomsg.DbChangeMessage
+func StartServer() {
+	var clients []string
+	var err error
+	var (
+		defaultOpts = gopherdiscovery.Options{
+			SurveyTime:   3 * time.Second,
+			//RecvDeadline: 3 * time.Second,
+			PollTime:     5 * time.Second,
+		}
+	)
+
+	discoveryServer, err = gopherdiscovery.Server(Discovery_Server, Discovery_UrlPubSub, defaultOpts)
+
+	logger.Debug("server: ", discoveryServer)
+	logger.Debug("err:",err)
+	logger.Debug("clients: ",clients)
+
+	dbChangeChan = make(chan *protomsg.DbChangeMessage)
+
+	for {
+		select {
+		case dbMsg := <-dbChangeChan:
+			publishMessage(dbMsg)
+		}
+	}
+}
+
+//骞挎挱鏁版嵁搴撴敼鍙樼殑msg
+func publishMessage(msg *protomsg.DbChangeMessage) {
+	sendBytes,err := proto.Marshal(msg)
+	if err ==nil{
+		discoveryServer.PublishMsg(string(sendBytes))
+	}
+}
+
+func AddDbMessage(msg *protomsg.DbChangeMessage) {
+	fmt.Println("MSG In")
+	dbChangeChan<-msg
+}
\ No newline at end of file

--
Gitblit v1.8.0