了解Netty-发送和接收对象

时间:2018-11-01 12:51:13

标签: netty

尽管我花了几个小时来阅读教程,但我很难理解Netty。我想在客户端和服务器之间发送几个不同的对象,但是我不知道如何正确执行。似乎可以序列化一个对象并像这样发送它,然后在接收端将其放到该类的对象中。但是,我读到有关该对象大小的限制。另外,我不理解如何处理处理程序的channelRead函数,因为当未完整接收对象时也会调用它们。我可以等到调用channelReadComplete并将对象放回原处吗?

由于我想要几个长度可变的不同对象,所以我也想知道是否建议使用ByteBuf并可能使用它,并以某种方式读出保存有关对象类型信息的第一个字节,并以某种方式将剩余的接收到的内容进行转换正确类型的对象中的字节。

真的很感谢您的帮助。

TeaDrinkerJoe

1 个答案:

答案 0 :(得分:1)

您可以使用Netty with update_time as( SELECT distinct on(id_movimiento) id from master.estado_movimiento_inventario where id_movimiento not in ( select id_movimiento from master.estado_movimiento_inventario where id_estado = 2 or id_estado=3 ) order by id_movimiento, id desc ) update master.estado_movimiento_inventario mi set se_debio_tramitar_hace= EXTRACT(epoch FROM now()::timestamp - mi.fecha )/3600 where mi.id in (select id from update_time); 将对象编码或序列化为字节,并编写Encoder来解码或反序列化接收的字节。您可以拥有自己的序列化和反序列化实现,但是请确保可以区分连续字节流中的对象。