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) } }() }