- 浏览: 66768 次
- 性别:
- 来自: 成都
最新评论
-
真好玩:
好 精 通 啊.....
netty从入门到精通——入门篇 -
真好玩:
...
netty从入门到精通——入门篇 -
ykdsg:
楼上正解,看了下源码才知道Channels.fireMessa ...
netty从入门到精通——实例篇(一) -
qja:
看完了。精通了。
netty从入门到精通——入门篇 -
Rejoy:
这也叫入门到精通。。。
netty从入门到精通——入门篇
文章列表
必须知道的几个简单概念:
1. unicode:字符集,包含了全世界几乎所有的字符。解除了ascii、iso-8859-1等字符集的局限。
2. unicode码:与每一个字符相对应的数字,一对一映射,常用的BMP区段范围在0x0000—0xffff。编码时,通过字符找到数字,解码时,相反。
3. utf-16:编码方式,将unicode中的每个字符转换成两个字节,并与BMP保持一致。由于编码方式简单,java内部采用utf-16的编码字符。
4. utf-8:编码方式,将字符转化为1-4个字节。如英文字母会用一个字节来表示,汉字则会使用三个字节来表示。
5. ...
前面了解了netty的基本用法与几个核心概念,从本文开始会通过一些实例(主要参考源码example包)来进一步学习netty的使用方法以及其中的原理。
先来实现一个简单的功能:服务端如果接收到客户端的连接,则返回字符串”success”,客户端读到该消息打印出来。
服务端的方法改写了第一篇blogNetty从入门到精通—入门篇中的handler,具体如下:
class MyChannelHandler extends SimpleChannelHandler {
…
…
…
@Override
public void channelConnect ...
前一篇blog,讲解了如何快速启动netty服务,并通过telnet命令来访问的简单过程。其中用到了netty中常用的几个类和方法,本文将做一一介绍(其中翻译了netty的api文档,同时结合自己的理解)。 首先,看类:ServerBootstrap,Server的启动过程就是从这里开始的。通过简单的构造方法注入ChannelFactory后设置ChannelPiplineFactory,再调用bind方法,服务器便启动起来了。这里重点关注一下两个工厂类,从类名可以看出是用来产出Channel和ChannelPipline的。Channel和ChannelPipline都是netty的核心 ...
本文通过一个简单的例子,来讲解netty最基本的用法。
首先,创建工程mynetty,引入netty的依赖包:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty</artifactId>
<version>3.5.6.Final</version>
</dependency>
创建好之后,开始编码:
1. 新建类NettyServer
package ...