我有這個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