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

网站服务器计算机安全的措施wordpress加载不同模板

网站服务器计算机安全的措施,wordpress加载不同模板,网站前端设计培训,网站建设好找工作一、Netty概述 1.Netty是什么#xff1f; Netty 是一个异步的、基于事件驱动的网络应用框架#xff0c;用于快速开发可维护、高性能的网络服务器和客户端。 2.Netty的地位怎么样#xff1f; Netty 在 Java 网络应用框架中的地位就好比#xff1a;Spring 框架在 JavaEE …一、Netty概述 1.Netty是什么 Netty 是一个异步的、基于事件驱动的网络应用框架用于快速开发可维护、高性能的网络服务器和客户端。 2.Netty的地位怎么样 Netty 在 Java 网络应用框架中的地位就好比Spring 框架在 JavaEE 开发中的地位 以下的框架都使用了 Netty因为它们有网络通信需求 Cassandra - nosql 数据库 Spark - 大数据分布式计算框架 Hadoop - 大数据分布式存储框架 RocketMQ - ali 开源的消息队列 ElasticSearch - 搜索引擎 gRPC - rpc 框架 Dubbo - rpc 框架 Spring 5.x - flux api 完全抛弃了 tomcat 使用 netty 作为服务器端 Zookeeper - 分布式协调框架 3.Netty有哪些优势 Netty vs NIO工作量大bug 多 需要自己构建协议 解决 TCP 传输问题如粘包、半包 epoll 空轮询导致 CPU 100% 对 API 进行增强使之更易用如 FastThreadLocal ThreadLocalByteBuf ByteBuffer Netty vs 其它网络应用框架 Mina 由 apache 维护将来 3.x 版本可能会有较大重构破坏 API 向下兼容性Netty 的开发迭代更迅速API 更简洁、文档更优秀 久经考验16年Netty 版本 2.x 2004 3.x 2008 4.x 2013 5.x 已废弃没有明显的性能提升维护成本高 二、使用Netty实现一个简单的网络通信模型 开发一个简单的服务器端和客户端 客户端向服务器端发送“HelloWorld”服务器只接收并打印输出不返回。 加依赖 dependencygroupIdio.netty/groupIdartifactIdnetty-all/artifactIdversion4.1.39.Final/version/dependency 服务器端 public class HelloServer {public static void main(String[] args) {// 1. 启动器负责组装netty组件启动服务器new ServerBootstrap()// 2. BossEventLoop, WorkerEventLoop(selector,thread), group组.group(new NioEventLoopGroup())// 3. 选择 服务器的 ServerSocketChannel 实现.channel(NioServerSocketChannel.class) // OIO BIO// 4.boss 负责处理连接 worker(child) 负责处理读写决定了 worker(child)能执行那些操作handler.childHandler(// 5. channel 代表和客户端进行数据读写的通道 Initializer 初始化负责添加别的handlernew ChannelInitializerNioSocketChannel() {Overrideprotected void initChannel(NioSocketChannel ch) throws Exception {// 6. 添加具体的 handlerch.pipeline().addLast(new StringDecoder()); // 将ByteBuf 转换为字符串ch.pipeline().addLast(new ChannelInboundHandlerAdapter(){ // 自定义 handlerOverridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {// 打印上一步转换好的字符串System.out.println(msg);}});}})// 7.绑定监听端口.bind(9090);} }代码解读 1.服务器端创建一个新的ServerBootstrap实例。ServerBootstrap是Netty中用于设置服务器端的参数并启动服务器的启动类。 2.为服务器设置一个事件循环组。NioEventLoopGroup是一个基于NIO非阻塞I/O的实现用于处理I/O操作的多线程事件循环。这允许服务器处理多个并发连接。可以理解为创建一个组组中包含多个eventLoop把 eventLoop 理解为处理数据的工人 工人可以管理多个 channel 的 io 操作并且一旦工人负责了某个 channel就要负责到底绑定。 工人既可以执行 io 操作也可以进行任务处理每位工人有任务队列队列里可以堆放多个 channel 的待处理任务任务分为普通任务、定时任务。 3.选择一个serverChannel的实现有基于NIO的服务器端实现、OIO(阻塞IO)的服务器端实现、基于Linux的Epoll的服务器端实现等。 4.添加事件处理逻辑。 5.ChannelInitializer是一个特殊的channel处理器用于对channel中的handler进行初始化具体的handler添加到initChannel()方法中。可以把handler 理解为数据的处理工序。 6.数据传输都是以字节形式传输Netty使用ByteBuf对NIO中ByteBuffer进行增强通过StringDecode()解码成字符传输给msg最终打印输出。pipeline可以理解为把多道工序合在一起 pipeline负责发布事件读、读取完成...传播给每个 handler handler 对自己感兴趣的事件进行处理重写了相应事件处理方法 7.绑定端口用于客户端连接。 客户端 public class HelloClient {public static void main(String[] args) throws InterruptedException {// 1. 启动类new Bootstrap()// 2. 添加EventLoop.group(new NioEventLoopGroup())// 3. 选择客户端 channel 实现.channel(NioSocketChannel.class)// 4. 添加处理器.handler(new ChannelInitializerNioSocketChannel() {Overrideprotected void initChannel(NioSocketChannel ch) throws Exception {ch.pipeline().addLast(new StringEncoder());}})// 5. 连接到服务器.connect(new InetSocketAddress(localhost,9090))// 6. 等待connect建立连接完毕.sync()// 7. 获取channel对象.channel()// 8. 向服务发送数据.writeAndFlush(hello, world);} }代码解读 1.客户端创建一个新的Bootstrap实例。Bootstrap是Netty中用于设置客户端参数并启动客户端的启动类。 2.NioEventLoopGroup同 Server。 3.选择客户 Socket 实现类NioSocketChannel 表示基于 NIO 的客户端实现其它实现还有基于OIO的客户端实现、基于Linux的Epoll的客户端实现等。 4.添加 SocketChannel 的处理器ChannelInitializer 处理器仅执行一次它的作用是待客户端 SocketChannel 建立连接后执行 initChannel 以便添加更多的处理器。 5.指定要连接的服务器和端口。 6.Netty 中很多方法都是异步的如 connect这时需要使用 sync 方法等待 connect 建立连接完毕。 7.获取 channel 对象它即为通道抽象可以进行数据读写操作。 8.写入消息并清空缓冲区。 运行结果 流程梳理
http://www.sczhlp.com/news/177218/

相关文章:

  • 兼职做网站 深圳网站建设的描述
  • 广东省建设工程监督站官方网站全国网站建设公司有多少家
  • 淄博公司网站建设万能搜索引擎入口
  • 个人网站模板怎么做友情链接吧
  • 做手机旅游网站长沙关键词优化报价
  • 网站建设用户调查问卷烟台专业做网站
  • 做视频有赚钱的网站ecto wordpress
  • 有什么兼职做it的网站好南宁网站制作企业
  • 微商的自己做网站叫什么做相册的网站(网易
  • 与网站开发相关的书籍怎么样制作网站教程
  • 自己做网站要买域名吗海外房地产网站建设
  • 网站建设的方式有哪些内容十大网站有哪些
  • ps做网站72分辨率html个人网站设计模板
  • 遵义做什么网站好大连网站建
  • 昆明seo公司网站北京网架公司
  • 美食分享网站建设策划书dede旅游网站模板
  • qq音乐怎么做mp3下载网站aws wordpress ssl
  • 东莞 骏域网站建设网站的js效果代码
  • 网站开发需求预算网站栏目词
  • 中国还有哪些做外贸的网站店铺小程序如何开通
  • 网站云空间大小成都电商网站建设
  • C语言 strtol() 函数用法
  • 哪个网站做演唱会门票专业做网站广州
  • 大型菜谱网站建设哪个网站做译员好
  • 怎样自己制作网站网站 微信认证
  • 美食网站建设的意义jquery验证网站地址
  • 长椿街网站建设大学生怎么做网站支付模块
  • 宁夏住宅建设发展公司网站目标网站都有哪些内容
  • 怎样建设美食网站仿团购网站模板
  • 网站你懂我意思正能量免费公众号推广代理