fuzhengwei / blog.github.io

fuzhengwei.github.io
Apache License 2.0
15 stars 8 forks source link

netty案例,netty4.1基础入门篇五《NettyServer字符串编码器》 - bugstack虫洞栈 #36

Open fuzhengwei opened 5 years ago

fuzhengwei commented 5 years ago

https://fuzhengwei.github.io/itstack-demo-netty-1/2019/08/08/netty%E6%A1%88%E4%BE%8B-netty4.1%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8%E7%AF%87%E4%BA%94-NettyServer%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%BC%96%E7%A0%81%E5%99%A8.html

前言介绍

netty通信就向一个流水channel管道,我们可以在管道的中间插入一些‘挡板’为我们服务。比如字符串的编码解码,在前面我们使用new StringDecoder(Charset.forName(“GBK”))进行字符串解码,这样我们在收取数据就不需要手动处理字节码。那么本章节我们使用与之对应的new StringEncoder(Charset.forName(“GBK”))进行进行字符串编码,用以实现服务端在发送数据的时候只需要传输字符串内容即可。

开发环境

1、jdk1.8【jdk1.7以下只能部分支持netty】 2、Netty4.1.36.Final【netty3.x 4.x 5每次的变化较大,接口类名也随着变化】 3、telnet 测试【可以现在你的win7机器上测试这个命令,用于链接到服务端的测试命令】

代码示例

itstack-demo-netty-1-05
└── src
    ├── main
       └── java
           └── org.itstack.demo.netty.server
               ├── MyChannelInitializer.java
               ├── MyServerHandler.java
               └── NettyServer.java
    └── test
         └── java
             └── org.itstack.demo.netty.test
                 └── ApiTest.java

MyChannelInitializer.java 编码器StringEncoder