From aa7c8d325fb831d32934e5ad20f95965475292ac Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 16 十二月 2019 14:38:34 +0800 Subject: [PATCH] --- --- algorithm/personTrack/personTrack.go | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-) diff --git a/algorithm/personTrack/personTrack.go b/algorithm/personTrack/personTrack.go index 29a0298..1c7510e 100644 --- a/algorithm/personTrack/personTrack.go +++ b/algorithm/personTrack/personTrack.go @@ -1,6 +1,7 @@ package main import ( + "encoding/base64" "encoding/json" "errors" uuid "github.com/satori/go.uuid" @@ -20,7 +21,7 @@ var sender chan []byte = make(chan []byte) var receiver chan string = make(chan string) -var initFlag bool = false + var sock mangos.Socket func Init() { go Push() @@ -28,10 +29,7 @@ // 浜轰綋璺熻釜绠楁硶 func Entrance(rule *protomsg.Rule, am *structure.AreaMap, lable *structure.Others, args *structure.SdkDatas, message *protomsg.SdkMessage) structure.LittleRuleResult { - logger.Info("缃綅绗﹀彿涓猴細",initFlag) - if !initFlag { - Init() - } + if rule.PolygonId == am.AreaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� //logger.Debug("---------璧颁簡浜哄憳寮傚父绠楁硶", rule.Id, rule.SdkArgAlias, rule.Operator, rule.SdkArgValue, am.AreaId) if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" || rule.SdkArgAlias == "" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔� @@ -102,7 +100,7 @@ trackArg["threshold"] = compareThreshold trackArg["cameraId"] = am.CameraId trackArg["bodyFeature"] = arg.BodyFeature - trackArg["faceFeature"] = arg.AttachArg.Feature + trackArg["faceFeature"] = base64.StdEncoding.EncodeToString(arg.AttachArg.Feature) logger.Info("璇锋眰寮犲椋炴瘮瀵规暟鎹弬鏁帮細",trackArg) b,err := json.Marshal(trackArg) if err != nil { @@ -152,15 +150,23 @@ if errSize != nil { logger.Error("Failed set MaxRecvSize: %v", err) } + errTimeOut := sock.SetOption(mangos.OptionRecvDeadline,time.Millisecond * 1500) + if errTimeOut != nil { + logger.Error("鎺ユ敹鍝嶅簲瓒呮椂") + return + } + errTimeOut1 := sock.SetOption(mangos.OptionSendDeadline,time.Millisecond * 1500) + if errTimeOut1 != nil { + logger.Error("鍙戦�佽秴鏃�") + return + } //sock.AddTransport(ipc.NewTransport()) sock.AddTransport(tcp.NewTransport()) serverIP, _ := GetLocalIP() if err = sock.Dial("tcp://"+serverIP+":4012"); err != nil { logger.Error("璇锋眰socket鎷ㄥ彿澶辫触: %s", err.Error()) } - //logger.Info("搴忓垪鍖栨暟鎹�") - initFlag = true - logger.Info("缃綅initFlag:",initFlag) + for { select { case data := <- sender: -- Gitblit v1.8.0