Red de conocimiento informático - Aprendizaje de programación - Netty - Orden de ejecución del controlador

Netty - Orden de ejecución del controlador

1. Introducción

Los handlers sin duda juegan un papel muy importante en Netty. Los controladores son muy similares a los filtros de Servlet. A través de los controladores, puede decodificar y codificar mensajes de comunicación, interceptar mensajes específicos, manejar errores en registros de manera uniforme, contar solicitudes de manera uniforme y controlar la ejecución de los controladores. En resumen, no hay nada que no pueda hacer, sólo cosas que no se te ocurren.

Todos los controladores en Netty implementan la interfaz ChannelHandler. Según el punto de salida al que se envía, se divide en dos categorías: ChannelInboundHandler y ChannelOutboundHandler. ChannelInboundHandler se utiliza para procesar mensajes enviados desde el cliente al servidor. Generalmente se utiliza para realizar decodificación, lectura de datos del cliente, procesamiento comercial, etc. ChannelOutboundHandler se utiliza para procesar mensajes enviados desde el servidor al cliente. codificar y enviar mensajes al cliente. Enviar mensajes, etc.

Netty puede registrar múltiples controladores. ChannelInboundHandler se ejecuta en el orden de registro; ChannelOutboundHandler se ejecuta en el orden inverso al de registro, como se muestra en la figura siguiente, ordenados según el orden de registro de los controladores. La secuencia de ejecución de las solicitudes que ingresan a Netty:

2. Caso de demostración

Lo anterior es un ejemplo de esta demostración de prueba:

2.1, lado del servidor

EchoServer.java

paquete com.example.nettynew ..server;

importar com.example.nettynew.hander.EchoInHandler1;

importar com.example.nettynew.hander.EchoInHandler1;

2.

importar com.example.nettynew.hander.EchoInHandler2;

importar com.example.nettynew .hander .EchoOutHandler2;

importar com.example.nettynew.hander.EchoOuteHandler1;

importar io.netty.ServerBootstrap;