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