From 906880cce4eeb0d7b2548ed9298b1b9f3c5510c6 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 07 十一月 2019 20:10:54 +0800
Subject: [PATCH] Merge branch 'module' of http://192.168.5.5:10010/r/ruleprocess into module
---
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..37bd0ac
--- /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