golang实现tcp自动重连示例程序

参考代码:
package main
 
import (
    "fmt"
    "net"
    "time"
)
 
func doTask() {
time.Sleep(1 * time.Second)
main()
}
 
func main() {
for {
    conn, err := net.DialTimeout("tcp", "223.5.5.5:80",time.Second*4)
    if err != nil {
      fmt.Println("请求失败", err)
      doTask()
    }else{
      fmt.Println("请求成功")
    }
    time.Sleep(3*time.Second)
    conn.Close()
}
}
代码每3秒发一次tcp连接,如果连接错误,会每隔1秒重新发起连接
posted @ 2022-12-18 09:56  小酷问答  阅读(94)  评论(0)    收藏  举报