首页 > 编程语言 >Netty编程模型入门案例

Netty编程模型入门案例

时间:2024-06-04 10:44:19浏览次数:26  
标签:Netty 入门 创建 编程 线程 客户端 服务端 通道

  在Socket编程模型可以看到发送数据和响应数据直接涉及到的是I/O模型,基于TCP/IP的socket编程使用的是流套接字。那什么是I/O模型呢?简单的理解就是用什么样的通道进行数据的发送和接收——这很大程度上决定了程序通信的性能。

  下面介绍另一种编程模式——Netty框架的入门案例:

  服务端实现步骤:

    1. 创建bossGroup线程组: 处理网络事件--连接事件

    2. 创建workerGroup线程组: 处理网络事件--读写事件

    3. 创建服务端启动助手

    4. 设置bossGroup线程组和workerGroup线程组

    5. 设置服务端通道实现为NIO

    6. 参数设置

    7. 创建一个通道初始化对象

    8. 向pipeline中添加自定义业务处理handler

            

    9. 启动服务端并绑定端口,同时将异步改为同步

    10. 关闭通道和关闭连接池

            

  客户端实现步骤:

     1. 创建线程组

     2. 创建客户端启动助手

     3. 设置线程组

     4. 设置客户端通道实现为NIO

     5. 创建一个通道初始化对象

     6. 向pipeline中添加自定义业务处理handler

     7. 启动客户端,等待连接服务端,同时将异步改为同步

     8. 关闭通道和关闭连接池

            

  测试:

            

            

 

标签:Netty,入门,创建,编程,线程,客户端,服务端,通道
From: https://www.cnblogs.com/ilovebath/p/18228618

相关文章

  • Java 开发面试题精选:Netty 一篇全搞定
    前言在面试Java开发工程师时,技术面试官不仅会考察候选人对Netty理论知识的掌握程度,还会考察其实际应用能力和问题解决技能。在本篇文章精选的关于Netty的面试题目中,从基础到实战再到一些问题的处理分析,都有所覆盖,能较为全面评估出候选人对Netty的理解和应用能力。如果你......
  • 从零手写实现 nginx-03-nginx 基于 Netty 实现
    前言大家好,我是老马。很高兴遇到你。我们希望实现最简单的http服务信息,可以处理静态文件。如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicatnetty相关如果你对netty不是很熟悉,可以读一下Netty权威指南-01-BIO案例Netty......
  • 小猴编程周赛C++ | 字符串
    学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!附上汇总贴:小猴编程C++|汇总-CSDN博客【题目描述】小猴最近学习了字符串,为了加强对字符串的理解,猴博士特意给小猴安排了一道编程题:给定一个字符串s,保证s中只包含大写字母(AZ......
  • 小猴编程周赛C++ | 六面世界
    学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!附上汇总贴:小猴编程C++|汇总-CSDN博客【题目描述】六面世界的地图由六边形格子组成,地图一共n行,奇数行有m格,偶数行有m-1格。下图是一个n=5,m=5的地图。小明想从起点S走到终点......
  • 网络编程介绍(二)(端口、通信协议)
    端口标记正在计算机设备上运行的应用程序的,被规定为一个16位的二进制,范围是0~65535。分类周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用80,FTP占用21)注册端口:1024~49151,分配给用户进程或某些应用程序。动态端口:49152到65535,之所以称......
  • 《信息学奥赛一本通 编程启蒙C++版》3126-3130(5题)
    3126:练21.3 神奇装置信息学奥赛一本通-编程启蒙(C++版)在线评测系统练21.3神奇装置信息学奥赛一本通-编程启蒙(C++版)在线评测系统3126:练21.3神奇装置_哔哩哔哩_bilibili#include<bits/stdc++.h>usingnamespacestd;intmain(){ inta,b,c,d; cin>>a>>b>>c......
  • 《信息学奥赛一本通 编程启蒙C++版》3001-3280
    《信息学奥赛一本通编程启蒙C++版》3001-3005(5题)《信息学奥赛一本通编程启蒙C++版》3001-3005(5题)-CSDN博客《信息学奥赛一本通编程启蒙C++版》3006-3010(5题)《信息学奥赛一本通编程启蒙C++版》3006-3010(5题)-CSDN博客《信息学奥赛一本通编程启蒙C++版》3011-3015......
  • BootStrap入门到实战:BootStrap组件(一)- Glyphicons字体图标、下拉菜单、按钮组、按钮式
    目录 一、Glyphicons字体图标二、下拉菜单1.基本实例1.1示例1.2用jQuery实现1.3菜单向上弹出2.对齐3.标题4.分割线5.禁用的菜单项三、按钮组1.基本实例2.按钮工具栏3.尺寸4.嵌套5.垂直排列6.两端对齐排列的按钮组四、按钮式下拉菜单1.单按......
  • BootStrap入门到实战:BootStrap组件(二)- 输入框组、导航、导航条、路径导航(面包屑效果)
    目录一、输入框组1.基本实例2.尺寸3.作为额外元素的多选框和单选框4.作为额外元素的按钮5.作为额外元素的按钮式下拉菜单6.作为额外元素的分裂式按钮下拉菜单二、导航1.标签页2.胶囊式标签页3.两端对齐的标签页4.禁用的链接5.添加下拉菜单三、导航条......
  • Bootstrap框架最新V5 快速入门&直通
    目录Bootstrap-前言Bootstrap-下载Bootstrap-使用Bootstrap-学习Bootstrap-栅格系统Bootstrap-全局样式Bootstrap-组件(Coponents)Bootstrap-字体图标Bootstrap-前言        Bootstrap是由Twitter公司开发维护的前端UI框架,它提供了大量编......