Netty教程系列(一)——netty入门应答程序

本文是Netty教程系列的第一篇,主要介绍了Netty的基本概念,并通过一个简单的应答程序实例,展示了如何设置开发环境,构建服务器和客户端。Netty是一个基于NIO的高性能网络编程框架,服务器由服务器配置、通道初始程序和业务处理程序三部分组成,而客户端则类似。文章详细阐述了每个部分的关键步骤和事件处理。
摘要由CSDN通过智能技术生成

Netty简介

Netty是一个异步通信、事件驱动基于NIO编写的高性能高并发的java网络编程框架。下面通过一个简单的服务器应答程序来完成Netty的初步学习。

代码地址:https://gitee.com/ShiXiCheng/study_netty

Netty的编程例子——应答程序

设置开发环境

Jdk1.8

Mvn配置

 

<dependencies>
    <dependency>
       <groupId>io.netty</groupId>
       <artifactId>netty-all</artifactId>
       <version>4.1.12.Final</version>
    </dependency>
</dependencies>

 

应答服务器

一个Netty服务器主要有三个部分组成

l  服务器配置,配置端口、操作线程池等。

l  通道初始程序,传输的编解码格式、粘包处理、通道处理程序的调用。

l  实现通道处理程序,它包含业务逻辑,即实现服务器通道发生连接、读取信息等事件时的处理。

启动服务器

通过创建SerserBootstrap对象来启动服务器,然后配置对象的相关属性,如端口、线程模式、处理程序等。

 

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
 
public classHelloServer {
 
    private static final int protNumner= 7878;
 
    public static void main(String[] args) throws InterruptedException {
       // 事件循环组
       /*
        * Main函数开始的位置定义了两个工作线程,一个命名为WorkerGroup,另一个命名为BossGroup。
        * 都是实例化NioEventLoopGroup。这一点和3.x版本中基本思路是一致的。Worker线程用于管理线程为Boss线程服务。
        * EventLoopGroup,它是4.x版本提出来的一个新概念。类似于3.x版本中的线程。用于管理Channel连接的。
        * 在main函数的结尾就用到了EventLoopGroup提供的便捷的方法,shutdownGraceFully(),
        * 翻译为中文就是优雅的全部关闭。
        */
       EventLoopGroupbossGroup= newNioEventLoopGroup();
       EventLoopGroupworkerGroup
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值