第一个方法是用一个全局的client,函数DoRequest()中每次都只在这个全局client上发送数据。
第二个方法是在transport分配时将它的DisableKeepAlives参数置为false,像下面这样:

transport := http.Transport{
       Dial:              dialTimeout,
       DisableKeepAlives: false,
 }

 client := http.Client{
       Transport: &transport,
 }

文章来源于互联网:Golang的坑socket too many open file

发表评论