• 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。

4.ChannelOption.SO_REUSEADDR, true

SO_REUSEADDR允许启动一个监听服务器并捆绑其众所周知端口,即使以前建立的将此端口用做他们的本地端口的连接仍存在。这通常是重启监听服务器时出现,若不设置此选项,则bind时将出错。
SO_REUSEADDR允许在同一端口上启动同一服务器的多个实例,只要每个实例捆绑一个不同的本地IP地址即可。对于TCP,我们根本不可能启动捆绑相同IP地址和相同端口号的多个服务器。
SO_REUSEADDR允许单个进程捆绑同一端口到多个套接口上,只要每个捆绑指定不同的本地IP地址即可。这一般不用于TCP服务器。
SO_REUSEADDR允许完全重复的捆绑:当一个IP地址和端口绑定到某个套接口上时,还允许此IP地址和端口捆绑到另一个套接口上。一般来说,这个特性仅在支持多播的系统上才有,而且只对UDP套接口而言(TCP不支持多播) 5.ChannelOption.SO_RCVBUF AND ChannelOption.SO_SNDBUF
定义接收或者传输的系统缓冲区buf的大小, 6.ChannelOption.ALLOCATOR
Netty4使用对象池,重用缓冲区
bootstrap.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT);
bootstrap.childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT);
												

最新文章

  1. 禁止root用户远程登录
  2. 如何在RichTextBox中改变多个字符串的颜色以及字体
  3. myeclise连接oracle数据库实现登录
  4. javascript自学002--DOM事件
  5. 【追寻javascript高手之路02】变量、作用域知多少?
  6. unable to open sync connection
  7. Spring IoC容器的设计——BeanFactory应用场景
  8. php集成开发环境的安装以及Zend Studio开发工具的安装
  9. oracle 11g不能连接报ORA-12537+ora-609解决
  10. js运算符(运算符的结合性)
  11. 关闭 MsMpEng.exe
  12. Java+大数据开发——HDFS详解
  13. Css多列语法笔记
  14. MySQL系列教程(一)
  15. 通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误
  16. 网络远程唤醒 WOL Magic Packet
  17. [AtCoder3856]Ice Rink Game - 模拟
  18. Kafka-Flume-elasticsearch
  19. PHP7语法知识(二):流程控制语句、函数、字符串、数组
  20. 添加dubbo.xsd的方法

热门文章

  1. ConcurrentBag同线程元素的添加和删除
  2. CentOS下安装man手册
  3. thread_为什么多线程是个坏主意
  4. Source Insight 项目简单使用说明
  5. windows下安装C语言环境
  6. 重启tomcat但是session仍然有效的解决方法
  7. shell script 在if 的判断条件正则表达式=~中引号问题
  8. extjs经典的增删改查
  9. 目的:将两个三T的硬盘做成LVM(sdc,sdd)
  10. 解决 Visual Studio For Mac 还原包失败问题