IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> java StandardSocketOptions套接字选项类 -> 正文阅读

[网络协议]java StandardSocketOptions套接字选项类

总结

Socket套接字选项

选项名作用
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阻塞套接字的情况下

Socket套接字选项(IP相关)

选项名作用
IP_TOS设置Internet协议(即)头部中的服务类型(ToS)八位,表示该数据报所需的服务类型,如果是视频、语言流则要求低时延,如果是文本、文件流则要求无误差,但时延可以大点
IP_MULTICAST_IF设置IP协议多播(也称为组播)数据报的网络接口
IP_MULTICAST_TTL设置IP协议多播数据报的生存时间
IP_MULTICAST_LOOP设置IP协议多播数据报的环回,环回,就是在发送到网卡后,网卡再发回给自己,发送一个多播包,接受回环包,然后获取发送包的IP地址等,这样就得到了本地的IP地址

Socket套接字选项(TCP相关)

选项名作用
TCP_NODELAY禁用Nagle算法,Nagle算法是通过合并短段并提高网络效率,当我们只要发送1字节的数据,却需要40字节的TCP/IP头部时,浪费会非常大

Nagle算法的规则

  1. 如果包长度达到MSS(Maximum Segment Size 1460字节),则允许发送
  2. 如果该包含有FIN,则允许发送
  3. 设置了TCP_NODELAY选项,则允许发送
  4. 未设置TCP_CORK选项时,若所有发出去的小数据包(包长度小于MSS)均被确认,则允许发送;
  5. 上述条件都未满足,但发生了超时(一般为200ms),则立即发送
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:40:09  更:2021-12-15 18:41:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:36:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码