netty 案例,netty4.1 基础入门篇三《NettyServer 字符串解码器》
前言介绍
在实际开发中,server端接收数据后我们希望他是一个字符串或者是一个对象类型,而不是字节码,那么;
1、在netty中是否可以自动的把接收的Bytebuf数据转String,不需要我手动处理?
答;有,可以在管道中添加一个StringDecoder。
2、在网络传输过程中有半包粘包的问题,netty能解决吗?
答:能,netty提供了很丰富的解码器,在正确合理的使用下就能解决半包粘包问题。
3、常用的String字符串下有什么样的解码器呢?
答:不仅在String下有处理半包粘包的解码器在处理其他的数据格式也有,其中谷歌的protobuf数据格式就是其中一个。对于String的有一下常用的三种:
3.1、LineBasedFrameDecoder 基于换行
3.2、DelimiterBasedFrameDecoder 基于指定字符串
3.3、FixedLengthFrameDecoder 基于字符串长度
开发环境
1、jdk1.8【jdk1.7以下只能部分支持netty】
2、Netty4.1.36.Final【netty3.x 4.x 5每次的变化较大,接口类名也随着变化】
3、telnet 测试【可以现在你的win7机器上测试这个命令,用于链接到服务端的测试命令】
代码示例
>MyChannelInitializer.java
>MyServerHandler.java
>NettyServer.java
测试结果
>启动服务端NettyServer
>启动模拟器NetAssist
>执行结果
------------
版权声明: 本文为 InfoQ 作者【小傅哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/00ea7a49a11c83bd43ff49d43】。文章转载请联系作者。
评论