dler.java
publicclass UDPHandler extends IoHandlerAdapter {
private final Logger logger =Logger.getLogger(this.getClass());
?
@Override
public void messageSent(IoSessionsession, Object message) throws Exception {
}
?
@Override
public void exceptionCaught(IoSessionsession, Throwable cause)
? ? throws Exception {
? ? logger.error(cause);
? ? session.close(true);
}
?
@Override
? ? public void messageReceived(IoSessionsession, Object message) throws Exception {
? ? ? ? logger.info("messageReceived");
? if (message instanceof IoBuffer) {
? ? ? ? IoBuffer buffer = (IoBuffer) message;
? ? ? ? UDPRequestServer controller = UDPRequestServer.getInstance();
? ? ? ? ? ? ? IoBuffer buffer1 =controller.dealRequest(buffer);
? ? ? ? ? ? ? session.write(buffer1);
? }
? ?
? ? }
}
注意点:
>心跳机制:
(1)客户端会定时发送心跳请求(注意定时时间必须小于,服务器端的IDLE监控时间),同时需要监听心跳反馈,以此来判断是否与服务器丢失连接。对于服务器的心跳请求不给与反馈。
(2)心跳情况在60秒之内
(3)客户端和服务端同时都需要设置心跳请求