Java netty的option(ChannelOption.SO_BACKLOG, backLog)什么意思 25

ServerBootstrap.option(ChannelOption.SO_BACKLOG,1024).childOption(ChannelOption.SO_KE... ServerBootstrap.option(ChannelOption.SO_BACKLOG, 1024)
.childOption(ChannelOption.SO_KEEPALIVE, true)
.childOption(ChannelOption.TCP_NODELAY, true);

上面上句分别的什么意思有什么作用?
为啥netty源码都不做注释的。。。。。。。。。
展开
 我来答
感知认知生活
推荐于2018-02-26 · TA获得超过105个赞
知道答主
回答量:4
采纳率:0%
帮助的人:4011
展开全部

这个都是socket的标准参数,并不是netty自己的。


具体为:

  • ChannelOption.SO_BACKLOG, 1024

BACKLOG用于构造服务端套接字ServerSocket对象,标识当服务器请求处理线程全满时,用于临时存放已完成三次握手的请求的队列的最大长度。如果未设置或所设置的值小于1,Java将使用默认值50。


  • ChannelOption.SO_KEEPALIVE, true


是否启用心跳保活机制。在双方TCP套接字建立连接后(即都进入ESTABLISHED状态)并且在两个小时左右上层没有任何数据传输的情况下,这套机制才会被激活。


  • ChannelOption.TCP_NODELAY, true


在TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。这里就涉及到一个名为Nagle的算法,该算法的目的就是为了尽可能发送大块数据,避免网络中充斥着许多小数据块。

 TCP_NODELAY就是用于启用或关于Nagle算法。如果要求高实时性,有数据发送时就马上发送,就将该选项设置为true关闭Nagle算法;如果要减少发送次数减少网络交互,就设置为false等累积一定大小后再发送。默认为false。

不变的康王
2016-05-20
知道答主
回答量:1
采纳率:0%
帮助的人:1119
展开全部
同问啊。。。。。。。。。。看不懂啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式