奇瑰网

[求助] android使用paho mqtt报错不可识别的包

[复制链接]
用户网龄
2.7年

发表于 2021-2-20 17:54:50 | 显示全部楼层 |阅读模式
android 使用paho mqtt连接activeMQ,报错不可识别的包,跟踪代码发现错误出现在CommsReceiver中
receiving = in.available() > 0;MqttWireMessage message = in.readMqttWireMessage();/** * Reads an <code>MqttWireMessage</code> from the stream. */public MqttWireMessage readMqttWireMessage() throws IOException, MqttException {   final String methodName ="readMqttWireMessage";   ByteArrayOutputStream bais = new ByteArrayOutputStream();   byte first = in.readByte();   clientState.notifyReceivedBytes(1);      byte type = (byte) ((first >>> 4) & 0x0F);   if ((type < MqttWireMessage.MESSAGE_TYPE_CONNECT) ||      (type > MqttWireMessage.MESSAGE_TYPE_DISCONNECT)) {      // Invalid MQTT message type...      throw ExceptionHelper.createMqttException(MqttException.REASON_CODE_INVALID_MESSAGE);   }   long remLen = MqttWireMessage.readMBI(in).getValue();   bais.write(first);   // bit silly, we decode it then encode it   bais.write(MqttWireMessage.encodeMBI(remLen));   byte[] packet = new byte[(int)(bais.size()+remLen)];   readFully(packet,bais.size(),packet.length - bais.size());      byte[] header = bais.toByteArray();   System.arraycopy(header,0,packet,0, header.length);   MqttWireMessage message = MqttWireMessage.createWireMessage(packet);   // @TRACE 501= received {0}    log.fine(CLASS_NAME, methodName, "501",new Object[] {message});   return message;}
这一步中first = 0进入了if,查看了上一步源码发现是CommsReceiver新建过程中传入的inputStream
// Connect to the server at the network level e.g. TCP socket and then// start the background processing threads before sending the connect// packet.NetworkModule networkModule = networkModules[networkModuleIndex];networkModule.start();receiver = new CommsReceiver(clientComms, clientState, tokenStore, networkModule.getInputStream());
这里打了断点看到networkModule的内容
up-e8a0018352515f425f7427b60df55e2abe3.png

这是否表示socket连接失败,所以无法读取到信息,first就等于0了?还是其他的原因?
以下还有first、type和in的内容
up-1fbe78343591e3480d90cf4ac288ad3b7c2.png


发表于 2021-2-20 17:54:54 | 显示全部楼层
下载下来玩玩
回复

使用道具 举报

用户网龄
3.1年

发表于 2021-2-20 18:03:28 | 显示全部楼层
占坑编辑ing
回复

使用道具 举报

用户网龄
3.1年

发表于 2021-2-20 18:04:06 | 显示全部楼层
精品 ,还算可以,支持奇瑰网
回复

使用道具 举报

用户网龄
3.1年

发表于 2021-2-20 18:05:16 | 显示全部楼层
前排支持下了哦~
回复

使用道具 举报

用户网龄
3.1年

发表于 2021-2-20 18:05:45 | 显示全部楼层
打酱油的人拉,回复下赚取积分
回复

使用道具 举报

用户网龄
2.5年

发表于 2021-2-20 18:05:50 | 显示全部楼层
支持支持支持
回复

使用道具 举报

用户网龄
2.3年
0 71 175

发表于 2021-2-20 18:06:07 | 显示全部楼层
锄禾日当午,发帖真辛苦。谁知坛中餐,帖帖皆辛苦!
回复

使用道具 举报

发表于 2021-2-20 18:07:37 | 显示全部楼层
精品 ,还算可以,支持奇瑰网
回复

使用道具 举报

使用高级回帖 (可批量传图、插入视频等)

发表回复

您需要登录后才可以回帖 登录 | 账号注册   微信登录

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快捷导航
Powered by Discuz! X3.4 ( 粤ICP备20013252号-1
Copyright © 2014-2021 奇瑰网 粤公网安备44130302100219号
快速回复 返回顶部 返回列表