|
HP-Socket v5.7.x 版本开始,所有通信组件都支持设置地址重用策略。
(地址重用策略通过 SetReuseAddressPolicy(enReusePolicy) 方法进行设置)
✓ RAP_NONE :不重用
◼ Windows:
✓ SO_EXCLUSIVEADDRUSE = TRUE
✓ SO_REUSEADDR = FALSE
◼ Linux/Unix:
✓ SO_REUSEADDR = FALSE
✓ SO_REUSEPORT = FALSE
✓ RAP_ADDR_ONLY :仅重用地址(默认)
◼ Windows:
✓ SO_EXCLUSIVEADDRUSE = FALSE
✓ SO_REUSEADDR = FALSE
◼ Linux/Unix:
✓ SO_REUSEADDR = TRUE
✓ SO_REUSEPORT = FALSE
✓ RAP_ADDR_AND_PORT :重用地址和端口
◼ Windows:
✓ SO_EXCLUSIVEADDRUSE = FALSE
✓ SO_REUSEADDR = TRUE
◼ Linux/Unix:
✓ SO_REUSEADDR = TRUE
✓ SO_REUSEPORT = TRUE
不同操作系统平台对地址重用的设置方式和表现行为存在差异,在设置之前必须充分理
解这些选项在不同操作系统平台中行为。如:Windows 通过 SO_EXCLUSIVEADDRUSE 和
SO_REUSEADDR Socket 选项设置地址重用,并且 SO_REUSEADDR 的语义类似于 Linux/Unix
的 SO_REUSEPORT Socket 选项;Linux/Unix 通过 SO_REUSEADDR 和 SO_REUSEPORT
Socket 选项设置地址重用,BSD 系统支持 SO_REUSEPORT 选项,Solaris 系统不支持,Linux
系统在内核版本 3.9.0后才支持。
|
|