初级会员
  • 第 21510 位会员
  • jjmgx
  • 2018-08-10 08:26:46
  • Offline
  • 20 50

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • client := &http.Client{Transport: &tr} 应该在调用子程序前创建一个client,这样会被复用,你的是每次子程序创建一个,关闭后就占用了,要到一定时间才会释放,所以时间长了,线程多了,端口不够用了。把client在全局创建好,每次传入才对,而且创建时可以指定最大的连接数,这样可以控制使用的链接不会太多。
  • 端口被用完了,你请求后body没有close吧。
  • todo里面如果有goroutine,就将goroutine里的代码研究下。因为recover应该是不能抓到子协程的错误的。
  • 在容易出错的地方要加上容错的机制,使用panic recover机制抓住错误信息就可以定位问题在哪里,然后再解决问题。 个人觉得常出错的地方有使用了nil的数据、数组越界了是最常见的,另外还有一些不容易发现的比如没有关闭链接之类的。 最好是能上源码,如果不关乎行业机密的话。
  • 要看文档应该是返回什么,val为0是正常的还是不正常的。