Hallo,
ich verstehe nicht ganz wie Netty funktioniert.
Ist es korrekt, dass man nur primitive typen übers netz schicken kann und dazu noch den byte wert angeben muss?
Wenn ich mir das POJO beispeil anschaue, dann wird da beim Encoder/Decoder der integer wert in ein byte-buffer geschrieben und abgeschickt:
Auf der anderen seite wieder neu initialisiert:
Was ist jetzt, wenn ich ein komplexeres objekt verschicken will?
Geht das nicht komfortabler??
ich verstehe nicht ganz wie Netty funktioniert.
Ist es korrekt, dass man nur primitive typen übers netz schicken kann und dazu noch den byte wert angeben muss?
Wenn ich mir das POJO beispeil anschaue, dann wird da beim Encoder/Decoder der integer wert in ein byte-buffer geschrieben und abgeschickt:
Java:
public class TimeEncoder extends SimpleChannelHandler {
public void writeRequested(ChannelHandlerContext ctx, MessageEvent e) {
UnixTime time = (UnixTime) e.getMessage();
ChannelBuffer buf = buffer(4);
buf.writeInt(time.getValue());
Channels.write(ctx, e.getFuture(), buf);
}
}
Java:
public class TimeDecoder extends FrameDecoder {
@Override
protected Object decode(ChannelHandlerContext ctx, Channel channel,
ChannelBuffer buffer) throws Exception {
if (buffer.readableBytes() < 4) {
return null;
}
return new UnixTime(buffer.readInt());
}
}
Geht das nicht komfortabler??