Socket API 中的地址复用 服务器端尽可能使用SO_REUSEADDR,在绑定之前尽可能调用setsockopt来设置SO_REUSEADDR套接字选项。该选项可以使得不必等待TIME_WAIT状态消失就可以重启服务器.SYNOPSIS
#include /* See NOTES */
#include
int...
分类:
其他好文 时间:
2014-12-02 22:36:18
阅读次数:
273
http://www.educity.cn/linux/1241288.html有时候我们需要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要学习套接字选项。 int getsockopt(int sockfd,int level,int optname,void *optval,sock....
分类:
其他好文 时间:
2014-11-21 09:07:05
阅读次数:
195
/* 设置套接字选项周期性消息检测连通性 心跳包、 心博。主要用于长连接。 * 参数:套接字, 1或0开启, 首次间隔时间, 两次间隔时间, 断开次数 */void setKeepAlive( int iSockfd , int iSockAttrOn, socklen_t iIdleTime , ...
分类:
其他好文 时间:
2014-10-14 18:44:09
阅读次数:
197
下面是关于回送客户和服务器程序开发一些简单的心搏函数。这些函数可以发现对端主机或到对端的通信路径的过早失效。 在给出这些函数之前我们必须提出一些警告。首先,有人会想到使用TCP的保持存活特性(SO_KEEPALIVE套接字选项)来提供这种功能,然而TCP得在连接已经闲置2小时之后才发送一个保持存活探...
分类:
其他好文 时间:
2014-10-14 18:28:29
阅读次数:
275
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示...
分类:
其他好文 时间:
2014-08-07 22:47:15
阅读次数:
352
//-----------------------------------1.getsockopt和setsockopt--------------------------------------
#include
int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen);
int...
分类:
其他好文 时间:
2014-07-22 23:03:55
阅读次数:
329
Floodlight 使用的是Netty架构,在Controller.java 入口函数中显示创建ServerBootstrap,设置套接字选项,ChannelPipeline,此时监听套接字就准备好处理来自SW的各种消息;这里最核心的就是 OpenflowPipelineFactory ,会加入各个业务相关的Handler,代码如下:
public ChannelPipeline...
分类:
其他好文 时间:
2014-07-22 17:54:39
阅读次数:
205
close:
当套接字的引用计数为0的时候才会引发TCP的四分组连接终止序列;
shutdown:
不用管套接字的引用计数就激发TCP的正常连接终止序列;
这里由一个SO_LINGER套接字选项
struct linger {
int l_onoff; /* 0 = off, nozero = on */
int l_linger; ...
分类:
其他好文 时间:
2014-07-20 22:24:53
阅读次数:
367
网络上关于SO_REUSEADDR套接字选项用来解决地址重用问题的资料不少,但只停留在文字表达上,并没有实例,很容易误导初学者,并产生疑惑,此处不再赘述。下面通过一个简短的例子来展示如何在项目中合理的使用该选项,以及需要注意的问题。
关于TCP断开连接四次握手,如图所示
应用场景:
之前项目中遇到一个问题,聊天服务器的开启,关闭和重启,例如将服务器...
分类:
其他好文 时间:
2014-07-08 10:34:25
阅读次数:
316