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());
}
});