UNIX网络编程——套接字选项(SO_REUSEADDR)
来源:互联网 发布:mysql 最小值 编辑:程序博客网 时间:2024/05/01 05:16
1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。
SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。TCP,先调用close()的一方会进入TIME_WAIT状态
2、SO_REUSEADDR和SO_REUSEPORT
SO_REUSEADDR提供如下四个功能:
- 当有一个有相同本地地址和端口的socket1处于TIME_WAIT状态时,而你启动的程序的socket2要占用该地址和端口,你的程序就要用到该选项。这通常是重启监听服务器时出现,若不设置此选项,则bind时将出错。
- SO_REUSEADDR允许在同一端口上启动同一服务器的多个实例(多个进程),只要每个实例捆绑一个不同的本地IP地址即可。对于TCP,我们根本不可能启动捆绑相同IP地址和相同端口号的多个服务器。
- SO_REUSEADDR允许单个进程捆绑同一端口到多个套接口上,只要每个捆绑指定不同的本地IP地址即可。这一般不用于TCP服务器。
- SO_REUSEADDR允许完全相同的地址和端口的重复绑定。但这只用于UDP的多播,不用于TCP(TCP不支持多播)。
SO_REUSEPORT选项有如下语义:
此选项允许完全重复捆绑,但仅在想捆绑相同IP地址和端口的套接口都指定了此套接口选项才行。
如果被捆绑的IP地址是一个多播地址,则SO_REUSEADDR和SO_REUSEPORT等效。
- UNIX网络编程——套接字选项(SO_REUSEADDR)
- UNIX网络编程——套接字选项(SO_RCVBUF和SO_SNDBUF)(SO_REUSEADDR)
- UNIX网络编程——套接字选项(setsockopt)
- Unix网络编程 SO_REUSEADDR选项
- UNIX网络编程——通用套接字选项
- 《UNIX网络编程》笔记——套接字选项
- UNIX网络编程——套接字选项(SO_RCVBUF和SO_SNDBUF)
- UNIX网络编程——套接字选项(心跳检测、绑定地址复用)
- UNIX网络编程——套接字选项(SOL_SOCKET级别)
- UNIX网络编程——常用套接字选项(SOL_SOCKET级别)
- UNIX网络编程——套接字选项(心跳检测、绑定地址复用)
- 《unix网络编程》套接字选项
- UNIX网络编程 TCP套接字选项
- 套接字选项 SO_REUSEADDR
- SO_REUSEADDR套接字选项
- 《unix网络编程》(17)套接字选项
- 53-套接字选项(SO_REUSEADDR)
- UNIX网络编程——经常使用的套接字选项
- 学习技术的10个建议
- Java数据库连接
- Java的执行原理和JVM
- 人生哲理
- mac下移动硬盘不能往里边拷贝东西的解决办法
- UNIX网络编程——套接字选项(SO_REUSEADDR)
- C++一维数组和指针的关系总结
- jQuery Ajax全解析
- 【Oracle】-【体系结构-LGWR】-LGWR的一些理解
- 百度自定义地图控件
- Struts2中field级别错误导致action无法使用的问题
- NOJ 212题K尾相等数
- TortoiseSVN 打开出现“系统找不到指定的路径”
- 渗透课程笔记