TCP为每条连接建立七个定时器,依次为:连接建立定时器、重传定时器、延时ACK定时器、持续定时器、保活定时器、FIN_WAIT_2定时器和TIME_WAIT定时器。实际上,为了提高效率,内核中只使用了四个定时器来完成七个定时器的功能。
TCP定时器的实现涉及以下文件:
net/ipv4/tcp_timer.c TCP的定时器
net/ipv4/inet_connection_sock.c 基...
分类:
其他好文 时间:
2014-11-16 14:43:01
阅读次数:
267
新Apache服务器上线以后,用netstat-an命令发现服务器中有大量状态为TIME-WAIT的TCP连接,于是用/sbin/sysctl-a查看了一下Linux的各项内核参数,并翻阅有关资料,决定修改其中的两项参数,以达到减少TCP连接中TIME-WAITsockets的目的。vi/etc/sysctl.conf编辑/etc/sysctl.conf..
分类:
其他好文 时间:
2014-11-14 18:00:51
阅读次数:
147
var wait = 60; function time(o) { if (wait == 0) { o.removeAttribute("disabled"); o.v...
分类:
其他好文 时间:
2014-11-06 17:00:45
阅读次数:
172
在TCP连接中,我们会遇到端口复用、粘包问题等。当server端主动关闭socket,会产生一个TIME_WAIT的状态,所以我们需要加上端口复用的选项,来解决该问题。由于TCP是个流协议,所以无法提供报文服务,这就需要去处理粘包问题,解决方法有: 1) 采用固定长度发送数据,这样做的话局限性比较....
分类:
系统相关 时间:
2014-10-23 19:02:48
阅读次数:
244
1、setsockopt()作用及简介socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段。此时对这个端口进行重新绑定就会出错。要想立即绑定端口,需要先设置SO_REUSEADDR.或者在closesocket的时候,使用setsockopt设置SO_DONTLINGER。才会...
分类:
系统相关 时间:
2014-10-17 00:22:43
阅读次数:
366
??
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:
一两个简单概念长连接与短连接:
1.长连接
Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。
2.短连接
Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开...
分类:
其他好文 时间:
2014-10-16 14:53:02
阅读次数:
165
一.time_wait状态解释1.客户端与服务器端TCP连接完闭,关闭SOCKET后,服务器端连接的端口号即为time_wait状态。linux下高并发的nginx,apache,lvs,squid等服务器生产环境下,TCP的time_wait套接字数量经常达到2,3W,此时服务器很容易被拖死或影响业务二.解决方法1.获取TIME_WA..
分类:
其他好文 时间:
2014-10-16 14:10:03
阅读次数:
183
差点儿全部的项目中,都会涉及到client和服务端。而client与server之间的通信又是一个非经常见但又有须要问题的技术问题。首先,连接方式有长连接和短连接。先看看概念。长连接短连接仅仅是一个概念性的问题,仅仅要知道其概念,不是一个特殊的东西:长连接:系统通讯连接建立后就一直保持。短连接:仅仅...
分类:
其他好文 时间:
2014-10-13 14:58:39
阅读次数:
204
转眼间,从事服务器后台开发,已经快三年了,最近想多总结些东西,先从最基本的开始写起吧!在公司经历了两个框架的开发和重构,其中一个点,就是把服务器内部通信的机制,从UDP转为TCP。先讲下TCP的基本应用,还有其中的各个状态的情况。以下的TCP的状态流程图:tcp建立连接,..
分类:
其他好文 时间:
2014-10-13 12:58:10
阅读次数:
231