码迷,mamicode.com
首页 > Web开发 > 详细

Netty中两种Keepalive的区别

时间:2019-12-19 21:32:34      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:不难   bootstra   http   bootstrap   netty   serve   tst   span   提示   

在Server端开启TCP keepalive: 两种方式

serverBootstrap.childOption(ChannelOption.SO_KEEPALIVE, true);
serverBootstrap.childOption(NioChannelOption.SO_KEEPALIVE,true)

提示:“.option(ChannelOption.SO_KEEPALIVE,true)”存在,但是无效。

两种方式表面来看没啥大区别,但是在跟踪源码的时候有这么一节:

  在"NioSocketChannel"中有这个方法:

技术图片

 

if语句里的"NioChannelOption.setOption()"和if外的调用“super.setOption()”其实就是区别所在,

if语句里进入则:

技术图片

 

 

而外面的调用则是:

 技术图片

 

 不难看出,上面的调用是JDK调用,下面的则是写一堆if...else来确定的,很明显,下面的方式没有上面的好

Netty中两种Keepalive的区别

标签:不难   bootstra   http   bootstrap   netty   serve   tst   span   提示   

原文地址:https://www.cnblogs.com/-qilin/p/12069770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!