对象形式传递

POJO对象

1.要传递对象,自然要有一个被传递模型,一个简单的Pojo,当然,实现序列化接口Serializable 是必须的。

Handler 配置

1.   通过Netty传递,都需要基于流,以ChannelBuffer的形式传递。所以,Object -> ChannelBuffer.

 

2.   Netty提供了转换工具,需要我们配置到Handler。

3.   样例从客户端 -> 服务端,单向发消息,所以在客户端配置了编码,服务端解码。如果双向收发,则需要全部配置Encoder和Decoder。

注意:注册到Server的Handler是有顺序的,如果你颠倒一下注册顺序,结果就是,会先进入我们自己的业务,再进行解码。这自然是不行的,会强转失败。至此,你应该会用Netty传递对象了吧。

 

bootstrap.setPipelineFactory(new ChannelPipelineFactory() {

           @Override

           public ChannelPipeline getPipeline() throws Exception {

               return Channels.pipeline(new ObjectEncoder(),new ObjectDecoder(ClassResolvers.cacheDisabled(this

                       .getClass().getClassLoader())),

                       new ClientHandler());

           }

       });

你可能感兴趣的:(对象)