Socket API 中的地址复用 服务器端尽可能使用SO_REUSEADDR,在绑定之前尽可能调用setsockopt来设置SO_REUSEADDR套接字选项。该选项可以使得不必等待TIME_WAIT状态消失就可以重启服务器.SYNOPSIS
#include /* See NOTES */
#include
int...
分类:
其他好文 时间:
2014-12-02 22:36:18
阅读次数:
273
项目是B/S模式,放在linux服务器上,tomcat和oracle11g在一台服务器上,tomcat读取数据库采用C3P0连接池,一直比较稳定,所以也没有去管。后来把tomcat放在一台win2008下,数据库放在另外一台win2008下。运行了半月有余,期间经常报数据库连接错误,但刷新下页面也就...
分类:
数据库 时间:
2014-11-24 13:17:16
阅读次数:
367
大家都知道在Linux下统计文本行数可以用wc -l 命令,例如:
-bash-3.2$ cat pif_install.log | wc -l
712
但在Windows下如何统计输出文本的行数呢,答案是使用find /c命令
1、统计包含某字符串的行数。例如在统计网络连接时的TIME_WAIT数等
netstat -an | find /i /c "TIME_WAIT...
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
一.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
转眼间,从事服务器后台开发,已经快三年了,最近想多总结些东西,先从最基本的开始写起吧!在公司经历了两个框架的开发和重构,其中一个点,就是把服务器内部通信的机制,从UDP转为TCP。先讲下TCP的基本应用,还有其中的各个状态的情况。以下的TCP的状态流程图:tcp建立连接,..
分类:
其他好文 时间:
2014-10-13 12:58:10
阅读次数:
231