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