未授权连接(5)

时间:2016-05-11 08:30:52

标签: java mqtt paho solace

一台机器连接到安慰,我想要另一台机器连接,但它会警告Exception,如下所示:

  

org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:28)

     

org.eclipse.paho.client.mqttv3.internal.ClientState.notifyReceivedAck(ClientState.java:885)

     

org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:118)   java.lang.Thread.run(未知来源)

如果我断开一台机器,另一台机器可以连接。是否只能连接一台机器默认?如果是这样,如何设置它以便许多机器能够连接。

1 个答案:

答案 0 :(得分:3)

您的应用程序的两个实例都可能尝试使用相同的clientId进行连接。 MQTT协议要求每个客户端连接使用唯一的clientId。

  

3.1.3.1客户端标识符

     

客户端标识符(ClientId)标识服务器的客户端。连接到服务器的每个客户端都有一个唯一的ClientId。客户端和服务器必须使用ClientId来识别它们与客户端和服务器之间的MQTT会话相关的状态[MQTT-3.1.3-2]。

对于Solace Systems的实施,

  
      
  • ClientIds最长可达128个字节
  •   
  • ClientIds可以包含第1.5.3节
  • 允许的任何UTF-8字符