首页 > 其他分享 >Netty-基础篇(2)

Netty-基础篇(2)

时间:2023-11-18 23:44:38浏览次数:34  
标签:Netty Bootstrap 基础 ServerBootstrap ByteBuf Channel 客户端

ByteBuf——Netty的数据容器

概念:Netty提供的字节容器,可以对字节进行高效操作,包括读写、查找等。

数据处理组件

1.abstract class ByteBuf

2.interface ByteBufHolder

ByteBuf API的优点:

1.它可以被用户自定义的缓冲类型扩展

2.通过内置的复合缓冲区类型实现了透明的零拷贝

3.容量可以按需增长(类似于JDK的StringBuilder)

4.在读和写这两种模式之间切换不需要调用ByteBuffer的flip()方法

5.读和写使用了不同的索引

6.支持方法的链式调用

7.支持引用计数

8.支持池化

 

Codec

概念:用于在ChannelPipeline中进行数据编码和解码的组件,如字符串编解码器、对象序列化编解码器等。

 

ServerBootstrap 与 Bootstrap(引导类)

Bootstrap(客户端)

1.连接到远程主机和端口

2.Bootstrap 是客户端的引导类,Bootstrap 在调用 bind()(连接UDP)和 connect()(连接TCP)方法时,会新创建一个 Channel,仅创建一个单独的、没有父 Channel 的 Channel 来实现所有的网络交换。

ServerBootstrap(服务器)

1.绑定到一个本地端口

2.ServerBootstrap 是服务端的引导类,ServerBootstarp 在调用 bind() 方法时会创建一个 ServerChannel 来接受来自客户端的连接,并且该 ServerChannel 管理了多个子 Channel 用于同客户端之间的通信。

 

标签:Netty,Bootstrap,基础,ServerBootstrap,ByteBuf,Channel,客户端
From: https://www.cnblogs.com/nxjblog/p/17841488.html

相关文章

  • C语言基础实例:两个整数相加
    使用 scanf() 来接收输入, printf() 与 %d 格式化输出整数。运行实例实例#include<stdio.h>intmain(){ intfirstNumber,secondNumber,sumOfTwoNumbers;printf("输入两个数:"); scanf("%d%d",&firstNumber,&secondNumber);sumOfTwoNumbers=fir......
  • 2023-2024-1 20231405《计算机基础与程序设计》第八周学习总结
    2023-2024-120231405《计算机基础与程序设计》第八周学习总结作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学《计算......
  • 2023-2024-1 20231402《计算机基础与程序设计》第8周学习总结
    2023-2024-120231402《计算机基础与程序设计》第8周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第8周作业这个作业的目标自学计算机科学概论第9章,《C语言程序设计》第7章作业正......
  • 基础工程
    ---basictype.h---#ifndef__BASICTYPE_H__#define__BASICTYPE_H__typedefunsignedcharuchar;typedefsignedcharschar;typedefunsignedshortushort;typedefsignedshortsshort;typedefunsignedintuint;typedefsignedintsint;typedef......
  • Siemens和Codesys关于OPC UA 服务器的基础配置
    西门子配置步骤如下打开设备属性——>OPCUA 激活OPCUA服务 设备URL地址 通用设置端口:设置服务器的端口号,默认4840,允许范围:1024-49151之间最大会话超时时间:指定在不进行数据交换的情况下OPCUA服务器关闭会话之前的最大时长。默认30s,允许范围:1-600000s之......
  • 2023-2024-1 20231327《计算机基础与程序设计》第8周学习总结
    学期(2023-2024-1)学号(20231327)《计算机基础与程序设计》第8周学习总结作业信息课程<班级的链接>(2023-2024-1-计算机基础与程序设计)要求<作业要求的链接>(2023-2024-1计算机基础与程序设计第7周作业)目标<了解并使用循环结构>作业正文https://i.cnblogs.com/p......
  • 2023-2024-1 20231321 《计算机基础与程序设计》第八周学习总结
    2023-2024-120231321《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第八周作业)这个作业的目标<计算机科学概论......
  • 【Java基础】while循环的标号
    需求:学生管理系统的菜单有5个操作选项:1.添加学生、2.删除学生、3.修改学生、4.查看学生、5.退出;进入系统后操作选项会循环给出,但当输入5触发退出时循环结束。实现:给循环添加标号,在break后添加循环标号指示需要结束的循环学生管理系统的菜单初始化代码publicclassStuMan......
  • Python十道基础编程题
    1.输入日期,判断这一天是这一年的第几天importdatetimedefday_of_year():year=eval(input('请输入年份:'))month=eval(input('请输入月份:'))day=eval(input('请输入天:'))date1=datetime.date(year,month,day)date2=datetime.date......
  • 二、基础操作
    二、基础操作2.1重启系统1(1)立刻关机2shutdown-hnow或者poweroff3(2)两分钟后关机4shutdown-h22.2关闭系统1(1)立刻重启2shutdown-rnow或者reboot3(2)两分钟后重启4shutdown-r22.3帮助命令(help)1ifconfig--help//查看......