ChannelOption用到的socket的标准参数

  • 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);

 

转载于:https://www.cnblogs.com/xiaoyongsz/p/6133266.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

在头文件中定义int isgraph(int ch);检查给定字符是否具有图形表示形式&#xff0c;即它是数字(0123456789)&#xff0c;大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ)&#xff0c;小写字母(abcdefghijklmnopqrstuvwxyz)或标点符号(!"#$%&()*,-./:;<>?[\]^_{|}~)或特定…

计算机的内存和cpu,内存与CPU二者之间的关系_Intel服务器CPU_服务器产业-中关村在线...

“在一起&#xff0c;在一起”&#xff0c;相信这也是很多人希望的结果&#xff0c;无论是从技术角度&#xff0c;还是从空间角度&#xff0c;似乎二者都有着很多理由被放在一起完成任务。但是&#xff0c;二者为何一直没有“在一起”呢&#xff1f;也许这句歌词可以回答原因&a…

JUnit,Logback,带有Maven 3的Maven

在本系列中&#xff0c;我们已经学习了建立基本的Spring MVC应用程序并学习了如何在Spring MVC中处理表单 。 现在该讨论更多涉及的主题了。 但是&#xff0c;在我们涉足更深的领域之前&#xff0c;让我们先进行一些基础设置。 单元测试 我不是TDD传播者。 我在那里说了。 我从…

Gradle中的buildScript,gradle wrapper,dependencies等一些基础知识

就想收藏一篇好文&#xff0c;哈哈&#xff0c;无他 Gradle中的buildScript代码块 - 黄博文 然后记录一些gradle的基础知识&#xff1a; 1.gradle wrapper就是对gradle的封装&#xff0c;可以理解为项目内部内置了gradle 2.dependencies的参数 上官方参数表https://docs.gradle…

phonegap工程中修改app的名字

针对phonegap比较高的版本&#xff0c;我的是6.4.0。 在phonegap工程中&#xff0c;当添加了iOS和android平台或多个平台后&#xff0c;工程进行了开发&#xff0c;然后觉得app的名字想修改一下&#xff08;比如在手机上显示的app名字&#xff0c;或者通过ipa导入安装或者apk包…

ac ap方案 华为_华为无线_AC+AP小型无线网络配置实验_v1

【如果在实验中有什么疑问&#xff0c;欢迎关注微信公众号“IT后院”给我留言&#xff0c;我会抽空回答你的问题】华为无线-ACAP小型无线网络配置实验_v1网络结构图&#xff1a;步骤一&#xff1a;配置网络连通性SW:interface Vlanif100ip address 192.168.0.1 255.255.255.0in…

css类选择器或逻辑,深入理解CSS中选择器的逻辑处理

在过去的很长一段时间中&#xff0c;我们都说 CSS 是不带有任何逻辑的&#xff0c;意思是在 CSS 中没有控制流&#xff0c;也没有某种类似于其他编程语言的方式来组织 CSS。CSS 天生缺乏逻辑性的问题导致了预处理器的出现。然而业界却对 CSS 预处理器褒贬不一&#xff0c;支持预…

JSF基于事件的交流:新派方法

在上一篇文章中 &#xff0c;我们学习了基于Observer / Event Listener和Mediator模式的基于事件的通信。 由于它们的缺点&#xff0c;我想展示基于事件的通信的更有效方法。 我们将从Google Guava EventBus开始&#xff0c;以CDI &#xff08;Java EE平台的上下文和依赖注入&a…

菜鸟之路-浅谈设计模式之单例设计模式

单例设计模式 定义&#xff1a;确保一个类仅仅有一个实例&#xff0c;并且自行实例化并向整个系统提供这个实例。单例模式是一种经常使用的软件设计模式。在它的核心结构中仅仅包括一个被称为单例的特殊类。通过单例模式能够保证系统中一个类仅仅有一个实例并且该实例易于外界訪…

python 32bit数据结构_python实现bitmap数据结构详解

bitmap是很常见的算法设计&#xff0c;例如用以Bloom Filter中&#xff1b;用以无反复整数金额的排列这些。bitmap一般根据数组来完成&#xff0c;数组中每一个原素能够当做是一系列二进制数&#xff0c;全部元素组成更高的二进制结合。针对Python而言&#xff0c;整数金额种类…

MVC如何使用开源分页插件shenniu.pager.js

最近比较忙&#xff0c;前期忙公司手机端接口项目&#xff0c;各种开发调试发布现在几乎上线无问题了&#xff1b;虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情&#xff0c;一者使用aspnetcore开发了个人线上项目&#xff08;要说线上其实只能ip访问&#xff0c;…

四. 基于环视Camera的BEV感知算法-PETR

目录 前言0. 简述1. 算法动机&开创性思路2. 主体结构3. 损失函数4. 性能对比5. PETRv2总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 本次课程我们来学习下课程第四章——基…

Java EE 6 VS Spring 3:Java EE已经杀死了Spring? 没门!

介绍 几天前&#xff0c;我在听Java Spotlight Podcast的插曲85 。 在这次演讲中&#xff0c; Bert Ertman和Paul Bakker讨论了从Spring迁移到Java EE。 基本上&#xff0c;在他们的介绍中&#xff0c;他们说&#xff0c;如今&#xff0c;选择Spring而不是Java EE是没有意义的。…

usb检测串口是哪个角_怎样测试串口和串口线是否正常

一步&#xff1a;把串口线或者USB转串口线插到计算机上。二步&#xff1a;打开串口调试助手接着选择串口&#xff0c;串口线和 USB 转串口的端口号查看路径&#xff1a;电脑上--右键--属性--硬件--设备管理器-端口(COM 和LPT),点开端口前面的号查看即可。注释&#xff1a;1、US…

NodeJS常用模块介绍

收集了NodeJS开发中常用的一些模块。MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架&#xff0c;它可以快速地搭建网站。Express框架建立在Nodejs内置的Http模块上&#xff0c;并对Http模块再包装&#xff0c;从而实际Web请求处理的 功能。它支持多种前端模板&…

Java泛型面试问题

Java面试中的通用面试问题在相当长的时间内在Java 5周围越来越普遍&#xff0c;许多应用程序都转移到Java 5上&#xff0c;并且几乎所有新的Java开发都发生在Tiger&#xff08;Java 5的代号&#xff09;上。 泛型和Java 5功能&#xff08;例如Enum&#xff09;的重要性&#xf…

隐层元素闪一下_太阳一直依靠什么元素在燃烧,地球上的重元素又是怎么来的?...

本文基于回答网友一个这样的问题&#xff1a;太阳目前氢核聚变是氦碳氧稳定燃烧地球上的铁镍重元素哪里来的&#xff1f;可以说&#xff0c;这是一个毫无逻辑乱七八糟的问题&#xff0c;但既然邀请回答&#xff0c;就从中挑出几个稍显合理的问题说明一下。太阳核心每时每刻都在…

基于Token的WEB后台认证机制

基于Token的WEB后台认证机制 几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password&#xff0c;简言之&#xff0c;Basic Auth是配合RESTful API 使用的最简单的认证方式&#xff0c;只需提供用户名密码即可&#xf…

JSF基于事件的沟通:过时的方法

用JSF编写的Web应用程序由相互交互的bean组成。 在开发Web应用程序时&#xff0c;bean之间的通信是主要的设计模式之一。 有时&#xff0c;一个bean需要向其他bean发送事件&#xff0c;以通知它们某些更改或其他任何更改。 我们通常可以将托管bean或Spring bean注入另一个bean的…

mysql调优 基础

MySQL调优可以从几个方面来做&#xff1a;1. 架构层&#xff1a;做从库&#xff0c;实现读写分离&#xff1b;2.系统层次&#xff1a;增加内存&#xff1b;给磁盘做raid0或者raid5以增加磁盘的读写速度&#xff1b;可以重新挂载磁盘&#xff0c;并加上noatime参数&#xff0c;这…