此类IMqttClient()
允许您创建一个client
对象,其中包含对所有可能发生的事件的回调,例如
@Override
public void subscribe(String arg0) throws MqttException, MqttSecurityException {
// TODO Auto-generated method stub
}
@Override
public void setCallback(MqttCallback arg0) {
// TODO Auto-generated method stub
}
@Override
public void publish(String arg0, byte[] arg1, int arg2, boolean arg3) throws MqttException, MqttPersistenceException {
// TODO Auto-generated method stub
}
但是这个类不允许您为每个客户端指定ID
。怎么可能?特别是如果你想与clean session = false
联系?
此外,我在实例化对象时检查了类MqttConnectOptions
,您可以将server URI
设置为一个选项,之后您可以执行client.connect(opts)
之类的操作,但是没有方式来指定ID
。
答案 0 :(得分:0)
Paho Library提供了一个选项,可以在创建Mqttclient的对象时在构造函数中提供客户端ID:
以下是语法:
mClient = new MqttClient(Constant.serverLink, Constant.client_id, null);
您可以在那里提供客户。
希望这会帮助你!
答案 1 :(得分:0)
如果您正在使用com.ibm.mqtt.IMqttClient中的库,则在连接时指定clientId:
mqttClient.connect(clientId, cleanStart, keepAliveSeconds);
有关详细信息,请参阅此文档:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html
如果您正在使用其他库,请阅读文档。他们肯定会允许您指定clientId。没有一个是没有用的,因为除了没有它之外你将无法做任何事情。