MQTT项目完成总结笔记
来源:互联网 发布:淘客发单软件 编辑:程序博客网 时间:2024/05/17 23:13
完成项目期间遇到很多问题,特此作笔记:
1、安卓只能识别128以下得数,若128以上的数则需将其强转为Byte即(Byte)0xAA
2、解决485传输数据异常问题:因输入输出模式之间切换过快,导致数据传输异常
解决办法:添加delay函数
private void delay(int ms) {try {Thread.currentThread();Thread.sleep(ms);} catch (InterruptedException e) {e.printStackTrace();}}
3、解决在检验校验位时直接相加判断是否与最后一位相等,在安卓中不可用。因为16进制加起来超过了byte量程所以将其 &0xff 即可。
4、解决使用string.format( , )可实现动态数组 例:
String humi = String.format("温度:%d℃\n湿度:%d%%", temp_number, wet_number);
5、关于base64解码问题,当从服务器得到数据进行第一次Base64解码后 得到的Json数据中的payload依然是Base64编码的。所以需要对Json数据进行处理,并进行二次解码。
源码如下
com.alibaba.fastjson.JSONObject jobj=com.alibaba.fastjson.JSON.parseObject(getFromBASE64(popMsg.getMessageBodyAsRawString()));//解码源码 String payload=jobj.get("payload").toString();//提取payload中的数据 System.out.println("Message "+getFromBASE64(payload));//打印并解码6、关于MQTT线程问题。需要在Activity中的onDestory()中:
transporter.sampleClient.disconnect();
7、关于MQTT应用运行过程中,断开设备网络连接,程序停止工作。并报错channel is unrecoverably broken and will be disposed!
则需将MQTT中的set.Qos(1)修改为set.Qos(0);
0 0
- MQTT项目完成总结笔记
- MQTT协议笔记之mqtt.io项目TCP协议支持
- MQTT协议笔记之mqtt.io项目Websocket协议支持
- MQTT协议笔记之mqtt.io项目HTTP协议支持
- MQTT协议笔记之mqtt.io项目TCP协议支持
- MQTT协议笔记之mqtt.io项目Websocket协议支持
- MQTT协议笔记之mqtt.io项目HTTP协议支持
- CrazyEggsClone项目完成总结
- SmartFoxServer项目完成总结
- 完成项目小总结
- UML项目完成总结
- 【转】SmartFoxServer项目完成总结
- 【SmartFoxServer】SmartFoxServer项目完成总结
- 刚完成一个项目的总结
- 第一个项目UI界面设计完成---总结
- 学生信息管理系统项目完成总结
- android 第一个项目完成! 阶段总结
- MQTT开发总结
- java基础-内部类
- lucene、solr、quartz、linux
- 自定义QGraphicsItem的继承顺序
- WSN覆盖率
- Android中的各种访问权限Permission含义
- MQTT项目完成总结笔记
- find_literal.sql
- spring mybates 自增字段返回id
- android学习记录(一)
- Rocketmq整体分析
- 封锁阳光大学
- HMM基础-HMM训练-前向后向算法
- Java面试题系列(1)sql第一题
- HTML5 使用 sessionStorage 进行页面传值