Как анализировать различные объекты в Netty (java)?JAVA

Программисты JAVA общаются здесь
Anonymous
Как анализировать различные объекты в Netty (java)?

Сообщение Anonymous »

Я использую netty и хочу отправлять различные объекты с клиента на сервер и наоборот.
Я создал одинаковые классы декодеров и кодировщиков на клиенте и сервере;
Декодер:

Код: Выделить всё

public class UserInfoDecoder extends ByteToMessageDecoder {
@Override
protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List list) throws Exception {
...
list.add(new UserInfo(...))
}
}
Кодировщик:

Код: Выделить всё

public class UserInfoEncoder extends MessageToByteEncoder {
@Override
protected void encode(ChannelHandlerContext ctx, UserInfo msg, ByteBuf out) {
...
out.writeBytes(...);
}
}
Вот метод initChannel моего сервера:

Код: Выделить всё

public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
if (sslCtx != null) {
p.addLast(sslCtx.newHandler(ch.alloc()));
}
p.addLast(
//  new ObjectEncoder(),
//  new ObjectDecoder(ClassResolvers.cacheDisabled(null)),

new UserInfoDecoder(),
new UserInfoEncoder(),

new ObjectEchoServerHandler());
}
В классе обработчика сервера есть метод ChannelRead

Код: Выделить всё

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
...
}
Как отличить объекты, отправленные клиентом?
Например. теперь у меня есть только класс UserInfo, и я могу привести Object msg в ChannelRead к UserInfo, но я хочу также отправить объект UsersCar, например, как различать объекты по типам, которые были отправлены?


Подробнее здесь: https://stackoverflow.com/questions/395 ... netty-java

Вернуться в «JAVA»