From 3c5565466db64950d797fdc3e40c599d73a3e239 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 14 一月 2020 15:20:24 +0800
Subject: [PATCH] debug

---
 run.go |   68 +++++++++++++++------------------
 1 files changed, 31 insertions(+), 37 deletions(-)

diff --git a/run.go b/run.go
index f4402e4..dae12d4 100644
--- a/run.go
+++ b/run.go
@@ -15,8 +15,12 @@
 	"basic.com/pubsub/protomsg.git"
 	"basic.com/valib/godraw.git"
 
-	"basic.com/valib/deliver.git"
 	"github.com/gogo/protobuf/proto"
+
+	"nanomsg.org/go-mangos"
+	"nanomsg.org/go-mangos/protocol/rep"
+	"nanomsg.org/go-mangos/transport/ipc"
+	"nanomsg.org/go-mangos/transport/tcp"
 )
 
 type reid struct {
@@ -77,38 +81,40 @@
 func Run(ctx context.Context, i interface{}) {
 	s := i.(*reid)
 
-	c := deliver.NewClient(deliver.ReqRep, s.ipc)
-
-	sendTry := 0
-	recvTry := 0
-	maxTry := 30
-
-	var msg []byte
+	var sock mangos.Socket
 	var err error
+	var msg []byte
+
+	for {
+		if sock, err = rep.NewSocket(); err != nil {
+			s.fnLogger("can't get new rep socket: ", err)
+			time.Sleep(5 * time.Millisecond)
+		} else {
+			break
+		}
+	}
+
+	sock.AddTransport(ipc.NewTransport())
+	sock.AddTransport(tcp.NewTransport())
+
+	for {
+		if err = sock.Listen(s.ipc); err != nil {
+			s.fnLogger("can't listen on rep socket: ", err)
+			time.Sleep(5 * time.Millisecond)
+		} else {
+			break
+		}
+	}
 
 	for {
 		select {
 		case <-ctx.Done():
+			sock.Close()
 			return
 		default:
 
-			for {
-				msg, err = c.Recv()
-				if err == nil {
-					recvTry = 0
-					break
-				}
-				recvTry++
-				if recvTry > maxTry {
-					break
-				}
+			if msg, err = sock.Recv(); err != nil {
 				s.fnLogger("REID~~~~~~Recv From HumanTrack error: ", err)
-				time.Sleep(5 * time.Millisecond)
-				continue
-			}
-
-			if recvTry > maxTry {
-				recvTry = 0
 				continue
 			}
 
@@ -155,20 +161,8 @@
 			buf := float32SliceAsByteSlice(feat)
 			ioutil.WriteFile("./reid-feat-byte.txt", buf, 0644)
 
-			for {
-				err = c.Send(buf)
-				if err == nil {
-					sendTry = 0
-					break
-				}
-				if sendTry > maxTry {
-					sendTry = 0
-					s.fnLogger("REID~~~~~~Send HumanTrack try: ", maxTry)
-					break
-				}
+			if err = sock.Send(buf); err != nil {
 				s.fnLogger("REID~~~~~~Send HumanTrack error: ", err)
-				time.Sleep(5 * time.Millisecond)
-				continue
 			}
 
 		}

--
Gitblit v1.8.0