通过Netty动态发送自定义对象

时间:2014-06-18 09:05:29

标签: netty nio asyncsocket

我在Netty中创建了一个PoC来发送和接收java对象。我发送的对象是我在clientHandler初始化时创建的。如何发送我在运行时创建的对象,或者如何发送将对象发送到Netty服务器的发送方法?

我刚刚复制了我的客户端处理程序代码。在这里,我在构造函数中创建了播放器对象。如果我在创建clientHandler对象后创建了播放器对象,我该如何发送此对象?。

public class ObjectEchoClientHandler扩展了ChannelInboundHandlerAdapter {

private Player player;

/**
 * Creates a client-side handler.
 */
public ObjectEchoClientHandler() {

    player =  new Player("Neymer","Brazil",10);

}

@Override
public void channelActive(ChannelHandlerContext ctx) {
    // Send the first message if this handler is a client-side handler.
    ctx.writeAndFlush(player);
}

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
    // Echo back the received object to the server.
    ctx.write(msg);
}

@Override
public void channelReadComplete(ChannelHandlerContext ctx) {
    ctx.flush();
}

@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
    cause.printStackTrace();
    ctx.close();
}

}

任何帮助将不胜感激。提前谢谢。

此致 Bibin

1 个答案:

答案 0 :(得分:1)

您只需使用Channel.writeAndFlush(yourObject)?