SO_BROADCAST | 启用表示允许传输广播数据报,指的是允许使用IPv4的广播地址发送数据报,默认是禁用 |
SO_KEEPALIVE | 启用表示保持连接活跃,即持久连接,在连接空闲时操作系统可以使用保持活动机制定期探测连接的另一端,一般时空闲2小时后,发送第一个探测分组,如果没收到回应每隔75秒发送一个探测分组,最多重复发送9次,即当空闲后7875s才会真正断开连接,默认是禁用 |
SO_SNDBUF | 套接字发送缓冲区的大小,单位是字节,如果是使用UDP,发送缓冲区可能会限制UDP的发送的数据报大小,缓冲区的默认值和绑定套接字后能否修改缓冲区都取决于操作系统,绑定套接字之前可以修改 |
SO_RCVBUF | 套接字接收缓冲区的大小,单位是字节,如果是使用UDP,接收缓冲区可能会限制UDP的接收的数据报大小,缓冲区的默认值和绑定套接字后能否修改缓冲区都取决于操作系统,绑定套接字之前可以修改,如果是TCP/IP协议,当向远程对等方公布TCP接收窗口的大小时,可以使用套接字接收缓冲区的大小 |
SO_REUSEADDR | 启用重复使用地址,启用后表示当使用该套接字地址的前一个连接处于TIME_WAIT状态时,此时套接字也能绑定到该套接字地址,就是消除两MSL(Maximum Segment Live 最大报文段生存时间)的等待时间 |
SO_REUSEPORT | 启用重复使用端口,对于面向流(TCP/IP)的套接字,此套接字选项通常允许将多个侦听套接字绑定到同一地址和同一端口。对于面向数据报(UDP)的套接字,套接字选项通常允许将多个UDP套接字绑定到同一地址和端口。 |
SO_LINGER | 启用表示如果存在数据,则在关闭时停留,指的是调用close()方法后操作系统尝试传输未发送的数据或确定无法传输数据时阻塞的超时时间,如果设置值小于0,调用close()方法后不会等待未发送的数据被发送,此选项只用在BIO阻塞套接字的情况下 |