视频分析2.0 多进程拆分仓库
zhangmeng
2019-05-06 bef9f96cf21cc9c985f3e47696c4b945b3e97615
decoder/main.go
@@ -49,7 +49,7 @@
var (
   mapCameraInfo = make(map[string]CameraInfo)
   tcp  = `tcp://192.168.1.124`
   tcp  = `tcp://192.168.1.124:`
   port = 7000
)
@@ -59,18 +59,24 @@
   for {
      msg := ipc.Recv()
      if msg != nil {
         fmt.Println(string(msg))
         var c CameraInfo
         if err := json.Unmarshal(msg, &c); err == nil {
            if _, ok := mapCameraInfo[c.ID]; ok {
               continue
            }
            ch <- c
            fmt.Printf("recv camere info %+v\n", c)
            msgIpc := MsgIPC{"new decoder", port}
            if b, err := json.Marshal(msgIpc); err == nil {
               ipc.Send(b)
            }
         } else {
            fmt.Println(err)
         }
         msgIpc := MsgIPC{"new decoder", port}
         if b, err := json.Marshal(msgIpc); err == nil {
            ipc.Send(b)
         }
      }
   }
}
@@ -85,9 +91,9 @@
   ctx, cancel := context.WithCancel(context.Background())
   ch := make(chan CameraInfo)
   tcpURL := tcp + strconv.Itoa(port)
   port++
   go recvCameraInfoFromIPC(ctx, tcpURL, ch)
   // tcpURL := tcp + strconv.Itoa(port)
   // port++
   go recvCameraInfoFromIPC(ctx, ipcURL, ch)
   for {
      select {