我有这个Mqtt ckient应用程序正在工作,发布方法工作正常,但是我的订阅方法很难。MQTT - 订阅方法不起作用
这是订阅方法,我想点击一个按钮,SUBCRIBE到主题:
public void subscribe(MqttClient MC) {
String topic = jTextField3.getText();
int qos = jComboBox1.getSelectedIndex() ;
String[] topics = {topic};
int[] QoS = {qos};
if (jLabel3.getText().equals("Connected")) {
try {
MC.subscribe(topics, QoS);
System.out.println(topics +" "+QoS);
System.out.println(topic +" "+qos);
jButton2.setText("Subscribed");
jTextField4.setText(topics.toString());
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(),
"MQTT Subscription Exception", JOptionPane.ERROR_MESSAGE);
}
} else {
jTextArea1.setText("Not connected");
}
}
这是按钮
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
subscribe(MC);
}
这个actionPerformed方法是我发表的获得方法:
public void publishArrived(String topic, byte[] data, int QoS, boolean retained) {
jTextField4.setText(topic);
String msgData = new String(data);
jTextArea1.setText(new String(data));
}
有人应该请帮我在这里。
您应该指定您正在使用的是哪个MQTT客户端库。 – knolleary