golang 长短连接处理
来源:互联网 发布:网络攻防平台 编辑:程序博客网 时间:2024/05/20 23:37
前言
关于time_wait网上的介绍有很多,咱不啰嗦了,之前公司环境有台机器里有大量的time_wait,研究了下golang和http的基础,小结下。
http协议1.1后默认是长连接,如果一个client使用http1.1协议,但又不希望使用长链接,则需要在header中指明connection的值为close;如果server方也不想支持长链接,则在response中也需要明确说明connection的值为close。
Get / HTTP/1.1Host: example.comUser-Agent: Go 1.1 package http**Connection: close**Accept-Encoding: gzipHTTP/1.1 501 Not ImplementedContent-Type: text/htmlContent-Length: 357**Connection: close**Date: Mon, 07 Mar 2016 13:15:56 GMTServer: ECSF (iad/18D2)
golang里长短连接的一些处理
1)golang强制短连接
出了在请求的头里加上connection:close
, 也可以设置request
结构体Close
成员变量为true
,比如:
req, _ := http.NewRequest("Get", "http://example.com", nil)req.Close = true
2)golang对长连接的要求
golang client不设置主动断连,还得注意下,想要保持长连接,得保证以下两个点
1. defer resp.Body.Close() //别忘了close body,不然长连接保持不了
2. body, err := ioutil.ReadAll(resp.Body)//记得读完resp.body或者放置一个结束符号 io.Copy(ioutil.Discard,resp.Body)
3) 解决产生大量close_wait
解决方案网上挺多,待总结个比较合适的方案,再补上
0 0
- golang 长短连接处理
- TCP长短连接
- socket长短连接
- 长短连接使用
- 数据库连接 什么是长短连接??
- 数据库连接 什么是长短连接??
- 数据库连接 什么是长短连接??
- 长短连接区别
- JAVA 网络长短连接
- 数据库长短连接详解
- 长短连接学习笔记
- http长短连接、长短轮询
- 长短轮询与长短连接
- 长短连接和长短轮询相关
- 长短连接与长短轮询
- 服务器长短连接应用分析
- 长短信的处理方法
- 关于连接超时和长短连接
- MySQL的连接查询及子查询
- Develop -- Training(十二) -- 管理音频播放
- android之bitmap-xml文件属性详解
- spring mvc IE8下JSP页面form表单提交后台不能获取值
- 258. Add Digits
- golang 长短连接处理
- mysql优化笔记
- leetcode:Populating Next Right Pointers in Each Node 【Java】
- Binary Tree Postorder Traversal
- 欢迎使用CSDN-markdown编辑器
- 20160307 Add Digits
- Android JNI编程规范
- android中JNI调用时内存分布以及内存泄露原因分析
- 【nova】centos7下libety版本openstack动态迁移虚拟机