From 0307004b3bb3f684f489e6eee7e6213b35f1cac1 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期三, 23 十月 2019 15:52:23 +0800 Subject: [PATCH] fix不画区域的bug --- ruleserver/server.go | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/ruleserver/server.go b/ruleserver/server.go new file mode 100644 index 0000000..28d6c39 --- /dev/null +++ b/ruleserver/server.go @@ -0,0 +1,61 @@ +package ruleserver + +import ( + "basic.com/pubsub/protomsg.git" + "basic.com/valib/gopherdiscovery.git" + "github.com/gogo/protobuf/proto" + "basic.com/valib/logger.git" + "time" +) + +type PubSubServer struct { + +} + +const ( + Discovery_Server = "tcp://0.0.0.0:40009" + Discovery_UrlPubSub = "tcp://0.0.0.0:50009" +) + +//鍚姩discovery鐨剆erver +var discoveryServer *gopherdiscovery.DiscoveryServer +var videotapChan chan *protomsg.VideotapeInfo +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) + + videotapChan = make(chan *protomsg.VideotapeInfo) + + for { + select { + case dbMsg := <-videotapChan: + publishMessage(dbMsg) + } + } +} + +//骞挎挱鏁版嵁搴撴敼鍙樼殑msg +func publishMessage(msg *protomsg.VideotapeInfo) { + sendBytes,err := proto.Marshal(msg) + if err ==nil{ + logger.Debug("鐪嬬湅杩欎釜鐤戜技绌烘寚閽堢殑涓滆タ",discoveryServer) + discoveryServer.PublishMsg(string(sendBytes)) + } +} + +func AddLxMessage(msg *protomsg.VideotapeInfo) { + videotapChan <- msg +} \ No newline at end of file -- Gitblit v1.8.0