好记性不如烂笔头之1(setsockopt)
2016-08-05 09:13
246 查看
setsockopt,用于在bind之前给linux_fd设置为端口复用特性。
典型的应用场合为:tcp连接后,服务端异常崩溃断开,此时将导致服务端的linux_fd进入“TIME_WAIT”状态,需要等待2分钟,才能再次绑定。此时就需要在bind前设置linux_fd端口复用。
int ret;
int on=1;
ret = setsockopt(linux_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on));
if(0 != ret )
{
printf("reuse error\r\n");
while(1);
}
bind................
但其实端口复用时有弊端,可能在服务端重启后收到来自原客户端的乱码数据,这个严谨的程序需要注意。
(感兴趣可以再看看SO_REUSEADDR和SO_REUSEPORT的详细介绍)
典型的应用场合为:tcp连接后,服务端异常崩溃断开,此时将导致服务端的linux_fd进入“TIME_WAIT”状态,需要等待2分钟,才能再次绑定。此时就需要在bind前设置linux_fd端口复用。
int ret;
int on=1;
ret = setsockopt(linux_fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on));
if(0 != ret )
{
printf("reuse error\r\n");
while(1);
}
bind................
但其实端口复用时有弊端,可能在服务端重启后收到来自原客户端的乱码数据,这个严谨的程序需要注意。
(感兴趣可以再看看SO_REUSEADDR和SO_REUSEPORT的详细介绍)
相关文章推荐
- 好记性不如烂笔头——double
- 好记性不如烂笔头10-WEB应用常见中文数据乱码问题总结
- 好记性不如烂笔头17-java中的javaBean
- 好记性不如烂笔头31-java应用中的敏感词过滤实现(3)
- 好记性不如烂笔头46-java拦截器-彻底理解动态代理的概念(1)
- 好记性不如烂笔头60-利用XMLConfiguration解析XML多节点
- 好记性不如烂笔头85-spring3学习(6)-BeanFactory 中bean的生命周期
- 好记性不如烂笔头95-spring3学习(16)-spring配置log4j
- 好记性不如烂笔头------按键灯jni使用(上层)
- 好记性不如烂笔头之html和css笔记
- 2017-8-25 好记性不如烂笔头之axis之WSDL
- 原创:在VS2005嵌入式环境下安装wxWidgets——好记性不如烂笔头
- 好记性不如烂笔头- linux 下rpm软件的安装和卸载 rpm --force -ivh ...
- 好记性不如烂笔头 label自适应
- 好记性不如烂笔头1-JAVA基础数据类型和转换
- 好记性不如烂笔头
- 好记性不如烂笔头32-java通过过滤器加载常用数据(4)
- 好记性不如烂笔头47-java拦截器-用CGLib实现动态代理(2)
- 好记性不如烂笔头61-XML文档结构和属性说明
- 好记性不如烂笔头86-spring3学习(7)-ApplicationContext中bean的生命周期