返回顶部
首页 > 资讯 > 精选 >Java NIO框架Netty简单使用的示例
  • 505
分享到

Java NIO框架Netty简单使用的示例

2023-05-30 17:05:54 505人浏览 独家记忆
摘要

之前写了一篇文章:Java 网络io编程总结(BIO、NIO、aiO均含完整实例代码),介绍了如何使用Java原生IO支持进行网络编程,本文介绍一种更为简单的方式,即Java NIO框架。Netty是业界最流行的NIO框架之一,具有良好的健

之前写了一篇文章:Java 网络io编程总结(BIO、NIOaiO均含完整实例代码),介绍了如何使用Java原生IO支持进行网络编程,本文介绍一种更为简单的方式,即Java NIO框架

Netty是业界最流行的NIO框架之一,具有良好的健壮性、功能、性能、可定制性和可扩展性。同时,它提供的十分简单的api,大大简化了我们的网络编程。

同Java IO介绍的文章一样,本文所展示的例子,实现了一个相同的功能。

服务端

Server:

package com.anxpp.io.calculator.netty; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.Socket.SocketChannel; import io.netty.channel.socket.nio.NiOServerSocketChannel; public class Server {   private int port;   public Server(int port) {     this.port = port;   }   public void run() throws Exception {     EventLoopGroup bossGroup = new NioEventLoopGroup();     EventLoopGroup workerGroup = new NioEventLoopGroup();     try {       ServerBootstrap b = new ServerBootstrap();       b.group(bossGroup, workerGroup)        .channel(NioServerSocketChannel.class)        .option(ChannelOption.SO_BACKLOG, 1024)        .childOption(ChannelOption.SO_KEEPALIVE, true)        .childHandler(new ChannelInitializer<SocketChannel>() {          @Override          public void initChannel(SocketChannel ch) throws Exception {            ch.pipeline().addLast(new ServerHandler());          }        });       ChannelFuture f = b.bind(port).sync();       System.out.println("服务器开启:"+port);       f.channel().closeFuture().sync();     } finally {       workerGroup.shutdownGracefully();       bossGroup.shutdownGracefully();     }   }   public static void main(String[] args) throws Exception {     int port;     if (args.length > 0) {       port = Integer.parseInt(args[0]);     } else {       port = 9090;     }     new Server(port).run();   } } 

--结束END--

本文标题: Java NIO框架Netty简单使用的示例

本文链接: https://lsjlt.com/news/219956.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java NIO框架Netty简单使用的示例
    之前写了一篇文章:Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码),介绍了如何使用Java原生IO支持进行网络编程,本文介绍一种更为简单的方式,即Java NIO框架。Netty是业界最流行的NIO框架之一,具有良好的健...
    99+
    2023-05-30
  • 使用NIO实现一个Netty网络框架
    使用NIO实现一个Netty网络框架?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,N...
    99+
    2023-05-31
    nio netty
  • java netty框架的用途有哪些
    Java Netty框架是一个高性能的网络编程框架,主要用于开发网络服务器和客户端应用程序。以下是Java Netty框架的主要用途...
    99+
    2023-10-25
    java netty
  • Micronaut框架的简单使用介绍
    目录什么是Micronaut主要特点入门依赖注入构建HTTP服务器阻塞HTTP反应式IO构建HTTP客户端声明性HTTP客户端编程HTTP客户端Micronaut客户端联合项目特征现...
    99+
    2024-04-02
  • java 中反射简单使用示例
    这篇文章将为大家详细讲解有关java 中反射简单使用示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package reflect_test;public class Do...
    99+
    2023-06-02
  • swoole框架的使用示例
    这篇文章将为大家详细讲解有关swoole框架的使用示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。正文swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、L...
    99+
    2023-06-14
  • PHP+Laravel框架RabbitMQ简单使用
    RabbitMQ安装教程请转到:RabbitMQ安装教程(超详细) 1、创建生产者 在app/Http/Controllers里创建一个php控制器文件, namespace App\Http\Controllers;use App\Htt...
    99+
    2023-09-08
    laravel php RabbitMQ
  • SpringBoot+Netty实现简单聊天室的示例代码
    目录一、实现1.User类2.SocketSession类3.SessionGroup4.WebSocketTextHandler类5.WebSocketServer类6.index...
    99+
    2024-04-02
  • Python流行ORM框架sqlalchemy的简单使用
    安装 http://docs.sqlalchemy.org 安装 #进入虚拟环境 #执行 ./python3 -m pip install import sqlalchemy print(sqlalchemy....
    99+
    2022-06-02
    Python ORM框架sqlalchemy
  • 使用Python实现简单的爬虫框架
    目录一、请求网页二、解析 HTML三、构建爬虫框架爬虫是一种自动获取网页内容的程序,它可以帮助我们从网络上快速收集大量信息。在本文中,我们将学习如何使用 Python 编写一个简单的...
    99+
    2023-05-19
    Python如何实现爬虫框架 Python爬虫框架 Python爬虫
  • Java NIO的基本使用实例
    这篇文章主要介绍“Java NIO的基本使用实例”,在日常操作中,相信很多人在Java NIO的基本使用实例问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java NIO的基本使用实例”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • 使用flexible.js框架的示例分析
    这篇文章主要介绍使用flexible.js框架的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!基本概念1、视窗viewport可能写过移动端的朋友就知道viewport是什么...
    99+
    2024-04-02
  • 使用Java获取Json中的数据简单示例
    目录1.普通元素2.属性包含大括号 { 3.属性包含中括号 [4.属性中既有中括号包括,又嵌套了大括号补充:java提取json中某个数组的所有值总结使用com.aliba...
    99+
    2023-05-15
    java 获取json数据 java读取json中的数据 java读取json文件并解析
  • Java使用Zxing二维码生成的简单示例
    目录1、二维码简介2、ZXing简介3、示例3.1 搭建一个maven项目,引入Zxing依赖包3.2 创建QrCodeUtil.java 类总结1、二维码简介 二维条形码是用某种特...
    99+
    2023-01-17
    Java二维码生成 java代码生成二维码 java zxing二维码生成
  • java单元测试JUnit框架原理的示例分析
    小编给大家分享一下java单元测试JUnit框架原理的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:1 简介JUnit是一个Java语言的单元测试框架,它由 Kent Beck 和 Erich Gamma...
    99+
    2023-05-30
    java junit
  • js中indexOf()的简单使用示例
    目录语法:定义用法及实例补充知识:不区分大小写的 javascript indexOf总结语法: String.IndexOf(Char, [startIndex], [count]...
    99+
    2023-01-12
    js indexof的用法 js数组indexof用法 indexof的用法
  • java对接Prometheus的简单示例
    Prometheus是由CNCF(Cloud Native Computing Foundation)维护的开源监控和警报系统。它最初由SoundCloud开发,并于2012年发布。Prometheus旨在帮助开发人员和运维团队监控和管理大...
    99+
    2023-09-12
    java prometheus 开发语言
  • 分享一个简单的java爬虫框架
    反复给网站编写不同的爬虫逻辑太麻烦了,自己实现了一个小框架可以自定义的部分有:请求方式(默认为Getuser-agent为谷歌浏览器的设置),可以通过实现RequestSet接口来自定义请求方式储存方式(默认储存在f盘的html文件夹下),...
    99+
    2023-05-30
    java 爬虫框架 ava
  • SpringDataRedis简单使用示例代码
    目录spring-data-redisspring-data-redis的特性SpringBoot的版本是2.xSpringDataRedis自动序列化Spring默认提供的Stri...
    99+
    2023-02-03
    SpringDataRedis使用 SpringData Redis
  • python编程Flask框架简单使用教程
    目录基础知识使用框架的优点Flask常用扩展包基本格式拓展return重定向取网址参数content-typecookie\sessionflask路由request属性上下文注册路...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作