Netty中两种Keepalive的区别
在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来确定的,很明显,下面的方式没有上面的好
相关推荐
fengshantao 2020-06-11
fengshantao 2020-10-29
arctan0 2020-10-14
爱传文档 2020-07-28
gzx0 2020-07-05
fengshantao 2020-07-04
fengshantao 2020-07-02
jannal 2020-06-21
arctan0 2020-06-19
arctan0 2020-06-16
gzx0 2020-06-14
fengshantao 2020-06-13
gzx0 2020-06-12
arctan0 2020-06-11
mbcsdn 2020-05-19
arctan0 2020-05-16
爱传文档 2020-05-08
爱传文档 2020-05-04