From 4e7b508212f20df01054b1fa98156efdf1b3b009 Mon Sep 17 00:00:00 2001 From: "qiyunfanbo126.com" <815699> Date: Mon, 20 Jan 2025 20:28:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=9F=AD=E7=BA=BF=E5=90=8Ecp?= =?UTF-8?q?u=E9=A3=99=E5=8D=87=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/http/tcppool/single.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/http/tcppool/single.go b/app/http/tcppool/single.go index a515ace..ebb9326 100644 --- a/app/http/tcppool/single.go +++ b/app/http/tcppool/single.go @@ -39,9 +39,9 @@ func (t *TcpHelper) Init(port string) *TcpHelper { return t } func (t *TcpHelper) reconnect(port string) { - var conn, err = net.Dial("tcp", config.GetConf().Url+":"+port) + var conn, err = net.DialTimeout("tcp", config.GetConf().Url+":"+port, 5*time.Second) if err == nil { - utils.Log(nil, "连接下游失败") + utils.Log(nil, "连接下游成功") atomic.StoreInt32(t.Full, 0) t.client = conn t.watch(t.client) @@ -88,6 +88,11 @@ func (t *TcpHelper) Close(conn net.Conn) { } func (t *TcpHelper) watch(conn net.Conn) { go func() { + defer func() { + if err := recover(); err != nil { + fmt.Println("连接断开", err) + } + }() for { conn.SetWriteDeadline(time.Now().Add(time.Second * 5)) _, err := conn.Write([]byte("1")) @@ -112,9 +117,12 @@ func (t *TcpHelper) watch(conn net.Conn) { fmt.Println("客户端空闲") atomic.StoreInt32(t.Full, 0) } + } else { + atomic.StoreInt32(t.Full, 1) + utils.Log(nil, "连接关闭", err) } } - + time.Sleep(1 * time.Second) } }() }