Mina使用总结(二)Handler

Handler的基本作用,处理接收到的客户端信息

一个简单的Handler实现如下:

package com.bypay.mina.handler;

import java.util.Date;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;

/**
 * Handler
 * @author 唐延波
 * @date 2015-2-22
 *
 */
public class TimeServerHandler extends IoHandlerAdapter
{
    /**
     * 有异常时执行方法
     */
    @Override
    public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
    {
        cause.printStackTrace();
    }

    /**
     * 接收消息时调用
     */
    @Override
    public void messageReceived( IoSession session, Object message ) throws Exception
    {
        String str = message.toString();
        if( str.trim().equalsIgnoreCase("quit") ) {
            session.close();
            return;
        }

        Date date = new Date();
        //向输出流中写东西
        session.write( date.toString() );
        System.out.println("Message written...");
    }

    @Override
    public void sessionIdle( IoSession session, IdleStatus status ) throws Exception
    {
        System.out.println( "IDLE " + session.getIdleCount( status ));
    }
}

转载于:https://www.cnblogs.com/tangyanbo/p/4297476.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧农业物联网平台-后端 智慧农业物联网平台-MINA代理端 终端通讯协议设计 数据包格式 名称 偏移位置 长度 值范围 包头 0 1 固定字符‘*’ 流水号 1 4 0 类型 5 1 0-127 数据长度 6 2 数据字节数 数据 8 n 协议类型决定 校验码 n+8 2 类型、数据长度、数据三部分的所有字节的CRC-16码 注 1:其字符''为转意符,所有除头尾外的字节,如果是'*','#',''在通讯时换成"*","#","\" 注 2:凡涉及多字节数据均为低字节在前 心跳包格式 包名称 心跳包 发送方 服务端或客户端 接收方 客户端或服务端 类型码 00H 数据长度 0字节 数据 无 说明 客户端和服务端之间无通讯每隔两分钟互发该数据包,通知对方连接正常 注册包格式 包名称 注册包 发送方 服客户端 接收方 服务端 类型码 01H 数据长度 13字节 数据 偏移位置 大小 说明 0 1 设备型号 1 12 设备ID 说明 客户端与服务端建立连接以后,发送本包内容,在服务端未收到服务端回应包以前,不发送其他数据包,间隔10秒发送本包 注册包应答格式 包名称 注册包 发送方 服务端 接收方 客户端 类型码 F1H 数据长度 13字节 数据 偏移位置 大小 说明 0 1 0-成功; 1-失败 1 12 回应token码 说明 当接受到客户端注册包以后,服务端代理与后端交互,将得到的注册结果发回给客户端。如果注册结果为失败,发送以后,主动断开网络连接。 温度数据格式 包名称 湿度包 发送方 客户端 接收方 服务端 类型码 05H 数据长度 2字节 数据 偏移位置 大小 说明 0 1 整数部分 1 1 小数部分 说明 温度数据包 温度数据格式 包名称 温度包 发送方 客户端 接收方 服务端 类型码 06H 数据长度 2字节 数据 偏移位置 大小 说明 0 1 整数部分 1 1 小数部分 说明 温度数据包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值