Cambios

De ChuWiki
Saltar a: navegación, buscar

Pipeline con netty

1358 bytes añadidos, 14:58 4 ago 2018
Todo junto
Unicamente hay que tener en cuenta que se añadirán en el orden que se van añadiendo, es decir, añadimos primero el FrameExtractor porque es el primero al que llamamos.
== Tratamiento de salida : ChannelOutboundHandler ==
 
Si el flujo es el contrario, es decir, somos nosotros los que escribimos en el socket para enviar bytes hacia afuera, tenemos posibilidad de hacer una cadena similar. Nosotros enviamos a un Handler hecho por nosotros el mensaje que queremos enviar pero como si fuera una estructura de datos nuestra (un String por ejemplo, pero podría ser cualquier clase nuestra de datos). Necesitaremos añadir un Handler que sea capaz de convertir esa estructura de datos (el String en nuestro ejemplo) en un array de bytes y necesitaremos otro Handler capaz de añadir a esos bytes que componen un mensaje los bytes que permitan separar ese mensaje de otro (en nuestro ejemplo, el byte de retorno de carro).
 
La primera clase, la que tiene el método de envío de nuestros datos, puede ser de cualquier tipo (ChannelInboundHandler o ChannelOutboundHandler), lo único importante es que tenga el channel sobbre el que quiere escribir.
 
Las otras dos clases (la que convierte el mensaje a bytes y la que añade el separador) deben ser ChannelOutboundHandler y sobreescribir el método write(). A este método es al que llamará netty cuando quiera escribir en el socket. Al igual que en el caso anterior, cada handler recibirá como parámetro de este método el objeto que nos entregue el handler anterior.
 
=== ===
[[Categoría:Java]][[Categoría:Netty]]

Menú de navegación