Я использую MQTT в Android для связи с сервером ActiveMQ. Я использовал этот пример для реализации клиента mqtt для android: http://dalelane.co.uk/blog/?p=1599. Когда я впервые открываю приложение для Android, оно подключается к ActiveMQ, и все работает. Когда я закрываю приложение, удаляю данные приложения и снова открываю Android, чтобы попытаться повторно подключиться к ActiveMQ, я получаю следующую ошибку в ActiveMQ:
2013-09-29 19:25:50,064 | WARN | Transport Connection to: tcp://192.168.0.108:54395 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///192.168.0.108:54395@1883
2013-09-29 20:18:20,417 | WARN | Failed to add Connection ID:32132151513546-2:5, reason: javax.jms.InvalidClientIDException: Broker: localhost - Client: dbasdfasdfe0b already connected from tcp://192.168.0.108:59211 | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: tcp:///192.168.0.108:36745@1883
Я предполагаю, что это как-то связано с тем, что вы не отключились от сервера перед попыткой повторного подключения. Может быть, я могу настроить ActiveMQ на удаление неиспользуемого соединения и отключение клиента раньше, когда ActiveMQ определит, что клиент отключился?