广告
返回顶部
首页 > 资讯 > 精选 >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://www.lsjlt.com/news/219956.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作