From 57e6102fc10909d6e13a4efe463a915c0e47e2ab Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期四, 20 八月 2020 14:21:13 +0800 Subject: [PATCH] bug fixed --- library.go | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) diff --git a/library.go b/library.go index 9237992..9323982 100644 --- a/library.go +++ b/library.go @@ -66,7 +66,12 @@ chReply chan TransInfo } -func recvRoutine(ctx context.Context, sock *DgramSocket, wg *sync.WaitGroup, ch chan<- TransInfo) { +const ( + routineSub = "sub" + routineReply = "reply" +) + +func recvRoutine(ctx context.Context, sock *DgramSocket, wg *sync.WaitGroup, ch chan<- TransInfo, id string) { for { select { case <-ctx.Done(): @@ -80,6 +85,10 @@ info: &info, port: peer, } + + // if id == routineReply { + // fmt.Println("repley server recv:", info) + // } } } else { // time.Sleep(10 * time.Millisecond) @@ -152,7 +161,7 @@ // 鍚姩鎺ユ敹绾跨▼ wg.Add(1) - go recvRoutine(ctx, sockReply, wg, chSub) + go recvRoutine(ctx, sockReply, wg, chReply, routineReply) repS := &sockServer{ sock: sockReply, info: info.ProcInfo, @@ -179,7 +188,7 @@ } // 鍚姩鎺ユ敹绾跨▼ wg.Add(1) - go recvRoutine(ctx, sockSub, wg, chSub) + go recvRoutine(ctx, sockSub, wg, chSub, routineSub) subC := &sockClient{ sock: sockSub, peer: -1, @@ -360,6 +369,11 @@ return nil } } + } else { + try++ + if try > count { + return nil + } } } } -- Gitblit v1.8.0