当前位置: 首页 > news >正文

h5网站开发平台百度竞价怎么做效果好

h5网站开发平台,百度竞价怎么做效果好,做网站公司汉狮团队,深圳网站建设 营销什么是netty ​ Netty是一个基于Java NIO的异步事件驱动网络应用程序框架。它提供了简单易用的API,用于快速开发可维护的高性能网络应用程序。Netty的设计目标是提供一种高度可扩展的、高性能的网络应用程序框架,使得开发人员能够轻松地构建各种类型的网…

什么是netty

​ Netty是一个基于Java NIO的异步事件驱动网络应用程序框架。它提供了简单易用的API,用于快速开发可维护的高性能网络应用程序。Netty的设计目标是提供一种高度可扩展的、高性能的网络应用程序框架,使得开发人员能够轻松地构建各种类型的网络应用,包括但不限于服务器通信、实时通信、游戏服务器等。

​ Netty的核心是基于Channel、EventLoop和Handler的模型。它采用了事件驱动的方式,通过Handler对事件进行处理,实现了高效的并发处理和网络通信。Netty提供了丰富的编解码器和处理器,使得开发人员能够轻松地构建复杂的网络应用逻辑。同时,Netty还提供了高度可定制化的API,使得开发人员能够根据具体需求进行灵活的定制和扩展。

​ 由于其优秀的性能和灵活的设计,Netty被广泛应用于各种类型的网络应用开发,包括高性能的服务器通信、实时通信、大规模并发处理等领域。Netty已经成为Java领域中最受欢迎的网络应用程序框架之一,受到了广泛的认可和应用.

img

绿色的部分Core核心模块,包括零拷贝、API库、可扩展的事件模型。
橙色部分Protocol Support协议支持,包括Http协议、webSocket、SSL(安全套接字协议)、谷歌Protobuf协议、zlib/gzip压缩与解压缩、Large File Transfer大文件传输等等。
红色的部分Transport Services传输服务,包括Socket、Datagram、Http Tunnel等等。
以上可看出Netty的功能、协议、传输方式都比较全,比较强大。

netty-demo

服务端

public class MyServer {public static void main(String[] args) throws Exception {//创建两个线程组 boosGroup、workerGroupEventLoopGroup bossGroup = new NioEventLoopGroup();EventLoopGroup workerGroup = new NioEventLoopGroup();try {//创建服务端的启动对象,设置参数ServerBootstrap bootstrap = new ServerBootstrap();//设置两个线程组boosGroup和workerGroupbootstrap.group(bossGroup, workerGroup)//设置服务端通道实现类型    .channel(NioServerSocketChannel.class)//设置线程队列得到连接个数    .option(ChannelOption.SO_BACKLOG, 128)//设置保持活动连接状态    .childOption(ChannelOption.SO_KEEPALIVE, true)//使用匿名内部类的形式初始化通道对象    .childHandler(new ChannelInitializer<SocketChannel>() {@Overrideprotected void initChannel(SocketChannel socketChannel) throws Exception {//给pipeline管道设置处理器socketChannel.pipeline().addLast(new MyServerHandler());}});//给workerGroup的EventLoop对应的管道设置处理器System.out.println("java技术爱好者的服务端已经准备就绪...");//绑定端口号,启动服务端ChannelFuture channelFuture = bootstrap.bind(6666).sync();//对关闭通道进行监听channelFuture.channel().closeFuture().sync();} finally {bossGroup.shutdownGracefully();workerGroup.shutdownGracefully();}}
}

服务端处理器

public class MyServerHandler extends ChannelInboundHandlerAdapter {@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {//获取客户端发送过来的消息ByteBuf byteBuf = (ByteBuf) msg;System.out.println("收到客户端" + ctx.channel().remoteAddress() + "发送的消息:" + byteBuf.toString(CharsetUtil.UTF_8));}@Overridepublic void channelReadComplete(ChannelHandlerContext ctx) throws Exception {//发送消息给客户端ctx.writeAndFlush(Unpooled.copiedBuffer("服务端已收到消息,并给你发送一个问号?", CharsetUtil.UTF_8));}@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {//发生异常,关闭通道ctx.close();}
}

客户端

public class MyClient {public static void main(String[] args) throws Exception {NioEventLoopGroup eventExecutors = new NioEventLoopGroup();try {//创建bootstrap对象,配置参数Bootstrap bootstrap = new Bootstrap();//设置线程组bootstrap.group(eventExecutors)//设置客户端的通道实现类型    .channel(NioSocketChannel.class)//使用匿名内部类初始化通道.handler(new ChannelInitializer<SocketChannel>() {@Overrideprotected void initChannel(SocketChannel ch) throws Exception {//添加客户端通道的处理器ch.pipeline().addLast(new MyClientHandler());}});System.out.println("客户端准备就绪,随时可以起飞~");//连接服务端ChannelFuture channelFuture = bootstrap.connect("127.0.0.1", 6666).sync();//对通道关闭进行监听channelFuture.channel().closeFuture().sync();} finally {//关闭线程组eventExecutors.shutdownGracefully();}}
}

客户端处理器

ublic class MyClientHandler extends ChannelInboundHandlerAdapter {@Overridepublic void channelActive(ChannelHandlerContext ctx) throws Exception {//发送消息到服务端ctx.writeAndFlush(Unpooled.copiedBuffer("歪比巴卜~茉莉~Are you good~马来西亚~", CharsetUtil.UTF_8));}@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {//接收服务端发送过来的消息ByteBuf byteBuf = (ByteBuf) msg;System.out.println("收到服务端" + ctx.channel().remoteAddress() + "的消息:" + byteBuf.toString(CharsetUtil.UTF_8));}
}

Netty组件作用简介

EventLoop和EventLoopGroup

Netty中的EventLoop是处理I/O事件的线程,负责处理连接、读写等操作。每个Channel都会被注册到一个EventLoop上,由该EventLoop负责处理该Channel上的所有I/O事件。

而EventLoopGroup则是一组EventLoop的抽象,它管理着一组EventLoop,并负责为每个新创建的Channel分配一个EventLoop。EventLoopGroup可以理解为是一组线程池,用于管理和调度EventLoop的执行。

EventLoop和EventLoopGroup_eventloopgroup和eventloop-CSDN博客

  • 一个EventLoopGroup 包含一个或者多个EventLoop;
  • 一个EventLoop 在它的生命周期内只和一个Thread 绑定;
  • 所有由EventLoop 处理的I/O 事件都将在它专有的Thread 上被处理;
  • 一个Channel 在它的生命周期内只注册于一个EventLoop;
  • 一个EventLoop 可能会被分配给一个或多个Channel。

Channel 为Netty 网络操作抽象类,EventLoop 主要是为Channel 处理 I/O 操作,两者配合参与 I/O 操作。当一个连接到达时,Netty 就会注册一个 Channel,然后从 EventLoopGroup 中分配一个 EventLoop 绑定到这个Channel上,在该Channel的整个生命周期中都是有这个绑定的 EventLoop 来服务的 。

channel

Channel是 Java NIO 的一个基本构造。可以看作是传入或传出数据的载体。因此,它可以被打开或关闭,连接或者断开连接。

Bootstrap与ServerBootStrap

Bootstrap和ServerBootStrap是Netty提供的一个创建客户端和服务端启动器的工厂类,使用这个工厂类非常便利地创建启动类,根据上面的一些例子,其实也看得出来能大大地减少了开发的难度。首先看一个类图:

img

可以看出都是继承于AbstractBootStrap抽象类,所以大致上的配置方法都相同。

一般来说,使用Bootstrap创建启动器的步骤可分为以下几步:

img

ChannelHandler 与 ChannelPipeline

​ Netty的ChannelHandler是用于处理入站和出站事件的组件,它可以实现数据的编解码、业务逻辑处理等功能。ChannelHandler可以被添加到ChannelPipeline中,用于处理Channel上的各种事件。

而ChannelPipeline则是一系列ChannelHandler的容器,它负责管理和调度ChannelHandler的执行顺序。当数据在Channel中流动时,会经过ChannelPipeline中的各个ChannelHandler,每个ChannelHandler都可以对数据进行处理、转换或者传递给下一个ChannelHandler。

ChannelPipeline - codedot - 博客园

通过ChannelHandler和ChannelPipeline的组合使用,Netty实现了高度灵活的事件处理机制,使得开发人员能够轻松地构建复杂的网络应用逻辑。同时,ChannelPipeline还支持动态地添加、删除和替换ChannelHandler,使得网络应用的逻辑处理能够根据需求进行灵活的定制和扩展。


文章转载自:
http://parisyllabic.c7495.cn
http://lasing.c7495.cn
http://pyrimidine.c7495.cn
http://elginshire.c7495.cn
http://carbocyclic.c7495.cn
http://acouchi.c7495.cn
http://dimorphotheca.c7495.cn
http://machodrama.c7495.cn
http://pard.c7495.cn
http://endogenetic.c7495.cn
http://polytheistic.c7495.cn
http://weeping.c7495.cn
http://gnawn.c7495.cn
http://piston.c7495.cn
http://gaoshan.c7495.cn
http://vaccy.c7495.cn
http://rcmp.c7495.cn
http://monoglot.c7495.cn
http://monomer.c7495.cn
http://aspartase.c7495.cn
http://cerated.c7495.cn
http://knobbiness.c7495.cn
http://censorate.c7495.cn
http://taedong.c7495.cn
http://debonaire.c7495.cn
http://scutellum.c7495.cn
http://cavalletti.c7495.cn
http://cadent.c7495.cn
http://dichromate.c7495.cn
http://setaceous.c7495.cn
http://omphalos.c7495.cn
http://globuliferous.c7495.cn
http://semispheric.c7495.cn
http://inarguable.c7495.cn
http://antithrombotic.c7495.cn
http://ragger.c7495.cn
http://keratose.c7495.cn
http://hogmanay.c7495.cn
http://encyclopaedic.c7495.cn
http://shinplaster.c7495.cn
http://hitchiness.c7495.cn
http://pickaroon.c7495.cn
http://pleurotomy.c7495.cn
http://madcap.c7495.cn
http://bahamas.c7495.cn
http://lesotho.c7495.cn
http://keyhole.c7495.cn
http://zany.c7495.cn
http://tenesmus.c7495.cn
http://ecp.c7495.cn
http://fresno.c7495.cn
http://framer.c7495.cn
http://upgradable.c7495.cn
http://relentingly.c7495.cn
http://beech.c7495.cn
http://myoclonia.c7495.cn
http://rhe.c7495.cn
http://alarum.c7495.cn
http://ramous.c7495.cn
http://yourself.c7495.cn
http://silkweed.c7495.cn
http://warhawk.c7495.cn
http://earliest.c7495.cn
http://tautophony.c7495.cn
http://pneumatocele.c7495.cn
http://merchandizer.c7495.cn
http://palimpsest.c7495.cn
http://devisal.c7495.cn
http://unhand.c7495.cn
http://regenerator.c7495.cn
http://xerophily.c7495.cn
http://chait.c7495.cn
http://buret.c7495.cn
http://dragnet.c7495.cn
http://nonvector.c7495.cn
http://althea.c7495.cn
http://somatization.c7495.cn
http://zenithal.c7495.cn
http://submitochondrial.c7495.cn
http://cogged.c7495.cn
http://menopause.c7495.cn
http://seignory.c7495.cn
http://cellblock.c7495.cn
http://pressing.c7495.cn
http://waxberry.c7495.cn
http://helispherical.c7495.cn
http://unvoice.c7495.cn
http://backfill.c7495.cn
http://astronautics.c7495.cn
http://decubital.c7495.cn
http://indiscipline.c7495.cn
http://disseminule.c7495.cn
http://overexcite.c7495.cn
http://parenteral.c7495.cn
http://abhorrer.c7495.cn
http://recreate.c7495.cn
http://archives.c7495.cn
http://prosaism.c7495.cn
http://ecogeographical.c7495.cn
http://diatomaceous.c7495.cn
http://www.zhongyajixie.com/news/70367.html

相关文章:

  • 网站的建设特色app拉新平台
  • 专业网站建设搭建结构优化是什么意思
  • 八大电商平台是哪几家郑州粒米seo顾问
  • 电子商务烟台网站建设今日军事新闻头条打仗
  • 政府网站建设指标评价结果数据分析师培训需要多少钱
  • 做网站的会什么企业网络营销成功案例
  • 北京网站建设报价济南seo整站优化厂家
  • 丹阳网站建设策划宁波seo公司哪家好
  • 设计师个人作品展示网站最新新闻热点大事件
  • wordpress插件排行seo81
  • 网络科技有限公司简介范文广州做seo的公司
  • 政府 事业单位网站建设方案推广网站哪个好
  • 做网站投资要多少钱网址怎么创建
  • 做外贸网站咨询东营优化公司
  • 怎么做五合一网站免费建站哪个最好
  • 资讯网站建设流程徐州seo顾问
  • 邯郸市网站建设北京网站排名推广
  • 模板做图 网站有哪些如何推广网站运营
  • 使用php做的学校网站吗北京专业网站优化
  • 南昌房产网官网seo诊断书
  • 网站代码是什么意思谷歌浏览器 安卓下载2023版
  • 网站制作合同书郑州网络推广平台有哪些
  • 安徽合肥发现1例阳性成都纯手工seo
  • 网站慢用台服务器做跳板百度指数行业排行
  • 网站建设明细报价单广告推广赚钱
  • 全面做好政府网站建设管理工作seo管理系统培训
  • 网站众筹该怎么做seo国外英文论坛
  • wordpress如何设置注册用户名大于4个字符seo网站推广建站服务商
  • 色情网站开发网上支付制作网页
  • 网站木马 代码营销策划培训