Netty
艾伦蓝
Just do it
展开
-
java io与nio学习
[size=large][color=red]输入/输出:概念性描述[/color][/size]I/O 简介I/O ? 或者输入/输出 ?[color=red] 指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。[/color]它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。在 Java...原创 2014-05-14 15:47:51 · 90 阅读 · 0 评论 -
Netty源码细节之IO线程(EventLoop)
roup workerGroup = new NioEventLoopGroup(); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) .channel(NioServerSocketChannel.class) .option(ChannelOption.SO_BACKLOG, 100)原创 2016-11-10 19:04:47 · 78 阅读 · 0 评论 -
Netty Server端代码简单分析(转)
nnelSink实例,NIO Server端一般使用NioServerSocketChannelFactory,用户也可以定制自己的ChannelFactory。 2.[b]ChannelPipelineFactory[/b]:[b][color=blue]主要用来对传输数据的处理[/color][/b],由于对数据的处理属于业务相关,用户应自己实现ChannelPipelineFactory,然后往ChannelPipelineFactory添加自定义的Handler Netty服务端启动步骤原创 2016-11-10 11:37:54 · 94 阅读 · 0 评论 -
java NIO与IO的区别
户按键盘的速度。这两者的速度相差悬殊。如果按照经典的方法:一个用户设定一个线程,专门等待用户的输入,[b]无形中就造成了严重的资源浪费:每一个线程都需要珍贵的cpu时间片,由于速度差异造成了在这个交互线程中的cpu都用来等待。[/b][color=blue]nio套接字是怎么做到的?[/color]其实,其中的思想很简单:轮询。一个线程轮询多个input;传统的方式是:有n个客户端就要有n个服务线程+一个监听线程,现在采取这种凡是,可以仅仅使用1个线程来代替n个服务线程以此来解决。 具体原创 2016-11-02 10:06:20 · 75 阅读 · 0 评论 -
Netty学习-02(粘包 解包 FrameDecoder)
,还是需要做IO处理、协议处理等低层次工作。所以,就像C服务端程序大量使用libevent作为网络应用框架一样,Java社区也不断涌现出基于NIO的网络应用框架。在这其中,Jboss出品的Netty就是个中翘楚。[color=blue][b]Netty是个异步的事件驱动网络应用框架,具有高性能、高扩展性等特性。[/b][/color]Netty提供了统一的底层协议接口,使得开发者从底层的网络协议(比如TCP/IP、UDP)中解脱出来。就使用来说,开发者只要参考 Netty提供的若干例子和它的指南文档,就可以原创 2014-05-20 10:55:50 · 114 阅读 · 0 评论 -
Netty学习
原创 2014-05-19 14:33:07 · 62 阅读 · 0 评论 -
Java NIO详细介绍解析
原创 2014-05-17 11:02:45 · 129 阅读 · 0 评论 -
java io与nio学习
的之间的接口。[/color]它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。在 Java 编程中,直到最近一直使用 流 的方式完成 I/O。[size=large][color=red]所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节。[/color][/size]流 I/O 用于与外部世界接触。它也在内部使用,用于将对象转换为字节,然后再转换回对象。NIO 与原来的 I/O原创 2014-05-14 15:47:51 · 61 阅读 · 0 评论 -
java Netty远程编译代码(收藏学习)
[size=medium][color=red][b]客户端[/b][/color][/size][color=red][b]设置消息的长度:[/b][/color]buffer.writeInt(classByte.length);[color=blue][b]写入消息内容:[/b][/color]buffer.writeBytes(classByte);[color=orang...原创 2016-11-11 09:23:28 · 81 阅读 · 0 评论 -
Netty源码细节之IO线程(EventLoop)
[b]先从一个简单的代码示例开始 [/b]服务端启动代码示例 [code="java"] // Configure the server. EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new NioEventLoopGroup();...原创 2016-11-10 19:04:47 · 118 阅读 · 0 评论 -
Netty Server端代码简单分析(转)
[size=medium][color=red][b]Netty源码简单分析: [/b][/color][/size]Netty整体架构清晰的分为两部分: 1.[b]ChannelFactory[/b]:主要负责生产网络通信相关的Channel和ChannelSink实例,NIO Server端一般使用NioServerSocketChannelFactory,用户也可以定制自己的Chan...原创 2016-11-10 11:37:54 · 107 阅读 · 0 评论 -
java NIO与IO的区别
[size=medium][color=red][b]为什么要nio套接字?[/b][/color][/size] [color=blue]nio的主要作用就是用来解决速度差异的。[/color]举个例子:计算机处理的速度,和用户按键盘的速度。这两者的速度相差悬殊。如果按照经典的方法:一个用户设定一个线程,专门等待用户的输入,[b]无形中就造成了严重的资源浪费:每一个线程都需要珍贵的cpu...原创 2016-11-02 10:06:20 · 77 阅读 · 0 评论 -
Netty学习-02(粘包 解包 FrameDecoder)
[size=medium][color=red][b]1、简介[/b][/color][/size]Java1.4提供了NIO使开发者可以使用Java编写高性能的服务端程序,但使用原生的NIO API就像Linux C中网络编程一样,还是需要做IO处理、协议处理等低层次工作。所以,就像C服务端程序大量使用libevent作为网络应用框架一样,Java社区也不断涌现出基于NIO的网络应用框架。在...原创 2014-05-20 10:55:50 · 160 阅读 · 0 评论 -
Netty学习
[color=red]Netty是一个基于JAVA NIO类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。[/color][color=red]在Netty中Client和Server通过Channel连接[/color],然后通过ByteBuffer进行传输。每个Channel有自己的Pipeline,[color=red]Pipeline上面可以...原创 2014-05-19 14:33:07 · 63 阅读 · 0 评论 -
Java NIO详细介绍解析
具体分析: [size=large][color=red]java NIO和阻塞I/O的区别 [/color][/size][size=small][color=blue]1.阻塞I/O通信模型[/color][/size] 假如现在你对阻塞I/O已有了一定了解,[b]我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时...原创 2014-05-17 11:02:45 · 108 阅读 · 0 评论 -
java Netty远程编译代码(收藏学习)
writeBytes(classByte);[color=orange][b]传输内容:[/b][/color]channel.write(buffer);[code="java"]package hotswap.client;import hotswap.JavacTool;import hotswap.NamedThreadFactory;import java.net.InetSocketAddress;import java.nio.cha原创 2016-11-11 09:23:28 · 130 阅读 · 0 评论