Как анализировать различные объекты в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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