java发送的mqtt命令onenet收不到

zfting 2018-04-19 02:22:58
那位老大帮我看哈,我纠结了好几天,真的是无力了

package com.weishang.my.tool.onenet;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOpti**;
import org.eclipse.paho.client.mqttv3.MqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttPersistenceException;
import org.eclipse.paho.client.mqttv3.MqttTopic;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class ServerMQTT {
//tcp://MQTT安装的服务器地址:MQTT定义的端口号
public static final String HOST = "tcp://183.230.40.39:6002";

//定义一个主题
public static final String TOPIC = "topic11";
//定义MQTT的ID,可以在MQTT服务配置中指定
private static final String clientid = "29411874";

private MqttClient client;
private MqttTopic topic11;
private String userName = "127136";
private String passWord = "vot**zWMnISycbJURMVno1=Jxw=";
private MqttMessage message;

/**
* 构造函数
* @throw**ttException
*/
public ServerMQTT() throw**ttException {
// MemoryPersistence设置clientid的保存形式,默认为以内存保存
client = new MqttClient(HOST, clientid, new MemoryPersistence());
connect();
}

/**
* 用来连接服务器
*/
private void connect() {
MqttConnectOpti** opti** = new MqttConnectOpti**();
opti**etCleanSession(false);
opti**etUserName(userName);
opti**etPassword(passWord.toCharArray());
// 设置超时时间
opti**etConnectionTimeout(10);
// 设置会话心跳时间
opti**etKeepAliveInterval(20);
try {
client.setCallback(new PushCallback());
client.connect(opti**);

topic11 = client.getTopic(TOPIC);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
*
* @param topic
* @param message
* @throw**ttPersistenceException
* @throw**ttException
*/
public void publish(MqttTopic topic , MqttMessage message) throw**ttPersistenceException,
MqttException {
MqttDeliveryToken token = topic.publish(message);
token.waitForCompletion();
System.out.println("message is published completely! "
+ t**Complete());
}

/**
* 启动入口
* @param args
* @throw**ttException
*/
public static void main(String[] args) throw**ttException {
ServerMQTT server = new ServerMQTT();
server.message = new MqttMessage();
server.message.**os(1);
server.message.setRetained(true);
server.message.setPayload("{\"cmd\":2,\"warehouse\":1,\"num\":1}".getBytes());//推送的命令
server.publish(server.topic11 , server.message);
System.out.println(server.message.isRetained() + "------ratained状态");
}
}

...全文
1006 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mrs陶 2020-12-09
  • 打赏
  • 举报
回复
兄弟,解决了吗?我也是要基于java对接OneNET

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧