一、简介

上篇博客中用到了bossGroup, workGroup。我们来看看他们的作用。

二、作用

先看group函数的说明

public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup childGroup)

再看group函数的调用

bootstrap.group(bossGroup, workerGroup);

原来bossGroup就是parentGroup,是负责处理TCP/IP连接的,而workerGroup就是childGroup,是负责处理Channel(通道)的I/O事件。

如果你嫌一个workerGroup线程不够,可以初始化多个线程

workerGroup = new NioEventLoopGroup(workerNum);

下面是一个典型系统的架构

学习借鉴自https://my.oschina.net/u/438393/blog/845300

(三)bossGroup, workGroup相关推荐

  1. netty设置group的时候,比如b.group(bossGroup ,workGroup),为什么要添加个两个group

    注:内容来自于Netty 权威指南第二版 1.netty最基本的服务端.客户端 public void start() throws InterruptedException {/*线程组*///用于 ...

  2. netty权威指南学习笔记三——TCP粘包/拆包之粘包现象

    TCP是个流协议,流没有一定界限.TCP底层不了解业务,他会根据TCP缓冲区的实际情况进行包划分,在业务上,一个业务完整的包,可能会被TCP底层拆分为多个包进行发送,也可能多个小包组合成一个大的数据包 ...

  3. 三、ByteBuf组件

    1.结构 ByteBuf是一个字节容器,内部是一个字节数组. 结构图: 2.重要属性 1.readerIndex 读指针 2.writerIndex 写指针 3.maxCapacity 最大容量 re ...

  4. Netty Channel源码分析

    原文:https://wangwei.one/posts/netty-channel-source-analyse.html 前面,我们大致了解了Netty中的几个核心组件.今天我们就来先来介绍Net ...

  5. netty websocket客户端_Websocket操作字节序 之 服务端

    Websocket在JavaScript中操作字节序 之 客户端 在上一篇文章中,把页面的websocket编码写好了,那么服务端又该如何实现呢?由于该文是在上上篇demo中修改的,所以不全的代码还请 ...

  6. Netty 私有协议栈 代码实现

    私有协议介绍 通信协议从广义上区分,可以分为共有协议和私有协议.由于私有协议的灵活性,它往往会在某个公司或者组织内部使用,按需定制,也因为如此,升级起来会非常方便,灵活性好. Netty私有协议栈功能 ...

  7. 浅析 Netty 实现心跳机制与断线重连

    基础 何为心跳 顾名思义, 所谓 心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性. 为什么需要心跳 因为网络的不可 ...

  8. 四、Netty 实现心跳机制与断线重连

    一.概述 何为心跳 顾名思义, 所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性. 为什么需要心跳 因为网络的不 ...

  9. Netty 框架学习(二):DelimiterBasedFrameDecoder和FixedLengthFrameDecoder

    文章目录 一.DelimiterBasedFrameDecoder 服务端 1.EchoServer 2.EchoServerChannelHandler 3.EchoServerHandler 客户 ...

  10. Netty实战 IM即时通讯系统(十一)pipeline与channelHandler

    Netty实战 IM即时通讯系统(十一)pipeline与channelHandler 零. 目录 IM系统简介 Netty 简介 Netty 环境配置 服务端启动流程 客户端启动流程 实战: 客户端 ...

最新文章

  1. 1_发表论文1_题目:(20181127)
  2. 窗体皮肤ssk 跟背景图片冲突_夫西地酸+阿达帕林~我要好皮肤
  3. C++的sort排序法
  4. leetcode 241. Different Ways to Add Parentheses | 241. 为运算表达式设计优先级(Java)
  5. sqlDataAdapter的FillSchema用法
  6. 也许你需要点实用的-Web前端笔试题
  7. 程序员到底会不会修电脑?
  8. SpringMVC 入门教程
  9. 计算机视觉基础:图像处理Task01-图像插值算法
  10. python从入门到放弃pdf下载-Python从入门到放弃(一): Python下载及打开世界之窗...
  11. 埋石图根点lisp代码_GPS测量作业流程.doc
  12. jsp实现简易计算器
  13. java获取当前上一周、上一月、上一年的时间dxl
  14. 软件测试-黑盒测试方法(一)---等价类划分、边界值、因果图、判定表
  15. ajax+php 实现即时聊天
  16. Linux之sqlite3使用
  17. Linux之ClamAV杀毒软件YUM安装和使用
  18. SQL Server DMVs in Action 学习笔记
  19. 【c++】C语言之输入行数,输出实心菱形和空心菱形
  20. 挖洞思路——验证码绕过

热门文章

  1. 基于GMap.NET库实现的Windows桌面地图工具软件分享
  2. linux网卡驱动模块名称,Linux下根据模块名查看网卡驱动版本
  3. Linux下C语言开发
  4. winrar命令行加压解密
  5. 服务器被挖矿木马攻击该怎么处理
  6. [已解决]你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息
  7. python打印星号组成的三角形_Python利用for循环打印星号三角形的案例
  8. c语言8bit转10bit,Win10系统如何才能将8bit(位深度)设定变成10bit呢?
  9. Xposed插件 - Android一键脱壳工具
  10. Tomcat的使用(详细流程)