在mina中解析报文为十六进制字符串
2017-10-26 13:38
323 查看
在mina的messageReceived中接收客户端的消息,并解析消息。
打印结果:
private static class MsgServerHandler extends IoHandlerAdapter{ @Override public void messageReceived(IoSession session, Object message) throws Exception { super.messageReceived(session, message); // 将Object类型的message转换为十六进制的字符串报文 String hexText = parseMessage(message); System.out.println("报文:" + hexText); } }
/** * 将Object类型的message转换为十六进制的字符串报文 * @param message * @return */ private String parseMessage(Object message) { IoBuffer buf = (IoBuffer) message; IoBuffer.allocate(1024); //长度超过会自动翻倍增长 buf.setAutoExpand(true); ByteBuffer bf = buf.buf(); byte[] tmpBuffer = new byte[bf.limit()]; bf.get(tmpBuffer); String result = ""; for(int i=0; i <tmpBuffer.length; i++) { //转换16进制 String getM = Integer.toHexString(tmpBuffer[i] & 0xFF)+""; if(getM.length()<2){ getM="0"+getM; } result+=getM+" "; } return result; }
打印结果:
报文:68 31 00 31 00 68 C9 90-05 28 00 00 02 77 00 00 04 00 03 16
相关文章推荐
- 浅谈Objective-C实体转化为XML报文字符串和解析XML为实体
- dom4j解析xml字符串(报文)
- 传递字符串数组报文和解析
- 通过AWK脚本解析海量文本攫取十六进制字符串转为点分十进制信息
- Android字节、十进制、十六进制、字符串之间的相互转换
- tinyxml 解析XML字符串,可加载远程XML
- 第8章_字符串与文本I/O_编程练习_8.9_十进制转化为十六进制
- 十六进制与字符串之间转换
- 十六进制数字组成的字符串的程序&库函数strtoul()
- 'JSON字符串' 标准形式及解析方式
- vc 中解析字符串
- jquery解析json格式数据的方法(对象、字符串)
- Js解析Json字符串的几种方法比较
- js 将json字符串转换为json对象的方法解析
- java解析xml字符串(用dom4j)
- Java中读取XML文件,生成XML格式的字符串并解析这个字符串
- luncene 查询字符串的解析
- 八进制和十六进制与二进制的转换及对应字符串
- logstash中字符串的split,对每个子串进行json解析
- C#双串口采集光照度与温度和湿度 数据保存在mysql 参数自动保存 解析格式十六进制收发