Tag: paho

Paho Mqtt Android连接到经纪人失败(32103)

我在1883年(mqtt)的网络中有一个ActiveMQ经纪人。 如果我使用简单的Java应用程序连接到该代理,并且mqtt-client-0.4.0.jar库一切正常。 现在我想用Android设备连接到该代理。 不幸的是,我无法管理它以获得成功的连接。 我总是收到以下错误: 03-23 11:08:15.679 24572-24572/com.my.package E/WorkerMQTT: onFailure: Unable to connect to server (32103) – java.net.ConnectException: failed to connect to /192.192.192.10 (port 1883) after 30000ms: isConnected failed: ENETUNREACH (Network is unreachable) 03-23 11:08:15.687 24572-24572/com.my.package W/System.err: Unable to connect to server (32103) – java.net.ConnectException: failed to connect to /192.192.192.10 (port 1883) after 30000ms: isConnected […]

Android – Paho Mqtt客户端在网络连接更改后不会收到消息(移动数据已禁用并再次启用)

我正在使用Mosquitto Mqtt和paho API来接收Android设备上的推送消息。 但是一旦网络连接发生变化,就会停止接收消息。 以下是使用简单测试用例重现问题的步骤: 1)创建一个简单的活动。 2)On Activity StartUp通过paho API连接到mosquitto测试服务器(test.mosquitto.org:1883)。 3)订阅一些主题。 4)向主题发布一些消息。 结果: Mqtt Client收到发布到该主题的所有消息。 现在 5)禁用移动设备上的互联网连接(移动数据) 6)向主题发布一些消息。 7)重新连接互联网。 结果:客户端在禁用Internet连接后未收到任何已发布的消息。 由于KeepAliveInterval一直保持高值(30分钟),它应该在重新连接到互联网后收到所有消息。 相同的用例(相同的代码)适用于简单的java项目(非android),我在我的笔记本电脑上禁用互联网来运行用例。 知道为什么它不能在Android设备上工作??? 我错过了什么吗? 注意: 1)使用mqtt-client-0.4.1 2)Android目标API级别11 3)测试期间不要将设备置于睡眠模式。 4)在connectionLost回调中没有得到任何调用,并且mqtt回调的所有4个线程都在整个测试用例中运行,即mosquitto服务器的连接是完整的。

Eclipse paho Mqtt:获取java.io.EOFexception

当我试图订阅mqtt客户端时,我得到“java.io.eof”exception。 我正在使用eclipse paho库并使用mosquitto broker。 我没有得到任何答案,所以请帮助我为什么会这样? Mqtt连接和订阅 我正在使用此代码连接和订阅mosquitto private void buildClient(String clientId){ log.debug(“Connecting… “+clientId); try { mqttClient = new MqttClient(envConfiguration.getBrokerUrl(), clientId,new MemoryPersistence()); System.out.println(mqttClient.isConnected()); } catch (MqttException e) { log.debug(“build client stopped due to “+e.getCause()); } chatCallback = new ChatCallback(this.userService,this); mqttClient.setCallback(chatCallback); mqttConnectOptions = new MqttConnectOptions(); mqttConnectOptions.setCleanSession(true); } @Override public void connect(String clientId,String topic) { try{ if(mqttClient == […]

无法接收已发布的消息以订阅mqtt paho上的主题

我正在使用paho来发送和接收mqtt消息。 到目前为止,发送消息没有问题。 我收到它们有问题。我的代码是: package BenchMQTT; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.IMqttToken; import org.eclipse.paho.client.mqttv3.MqttCallback; import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttMessage; import org.eclipse.paho.client.mqttv3.MqttClient; public class Test_A_2 implements MqttCallback { MqttClient clientR; MqttClient clientS; public Test_A_2() { } public static void main(String[] args) throws InterruptedException { long startTime = System.currentTimeMillis(); new Test_A_2().doDemo(); long endTime = System.currentTimeMillis(); } public void doDemo() throws InterruptedException […]

如何使用自签名证书连接到Android(paho客户端)中的Mqtt服务器?

我在使用自签名证书连接到mqtt服务器时遇到问题。 即时通讯使用Paho客户端,并希望使用TLSv1.2连接到服务器。 实际上,我成功连接Android API 20+,但在此版本以下没有成功。 到目前为止我做了什么: 1-创建了一个PKCS#12密钥库并放入.crt文件并为其提供密码并保存(它将是.pfx文件) 2-将.pfx文件添加到android项目中的原始文件夹中 3-使用下面的代码加载自签名证书: connection = createConnection(mqttCallback); MqttConnectOptions connOpts = optionsFromModel(connectionModel); connOpts.setSocketFactory(getSSLSocketFactory(keyStoreInputStream, keyStorePassword)); connection.addConnectionOptions(connOpts); 而getSSLSocketFactory方法是最重要的部分: public SSLSocketFactory getSSLSocketFactory (InputStream keyStore, String password) throws MqttSecurityException { try{ SSLContext ctx = null; SSLSocketFactory sslSockFactory=null; KeyStore ks; ks = KeyStore.getInstance(“PKCS12”); ks.load(keyStore, password.toCharArray()); TrustManagerFactory tmf = TrustManagerFactory.getInstance(“X509”); tmf.init(ks); TrustManager[] tm = tmf.getTrustManagers(); ctx = […]

Java Eclipse Paho实现 – 自动重新连接

我正在尝试在我的项目中实现eclipse.paho来连接Mqtt Broker(订阅和发布目的)。 问题是,当我使用订阅function(实现MqttCallback接口)时,我无法MqttCallback如果连接丢失,我该如何重新连接。 MqttCallback接口有一个connectionLost方法,但它对调试很有用,导致连接丢失。 我搜索但找不到建立自动重新连接的方法。 你能就这个问题提出一个方法或文件吗? 提前致谢。

Spring MqttPahoMessageDrivenChannelAdapter丢失连接:连接丢失; 重试

我们使用Spring message-driven-channel-adapter来订阅MQTT主题。 但是我们经常遇到错误。 我已经使用JavaScript客户端( mqttws31.js )测试了连接,它工作正常。 意味着连接没有问题。 错误: – org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter connectionLost SEVERE: Lost connection:Connection lost; retrying… MQTT消息: – [payload=6483D03E4C75BA943148F18D73,1.00,1E, headers={mqtt_retained=false, mqtt_qos=0, id=5fa41168-34c6-1e3d-a775-e3146842990a, mqtt_topic=TEST/GATEWAY2, mqtt_duplicate=false, timestamp=1499067757559}] 配置 : – pom.xml: org.eclipse.paho org.eclipse.paho.client.mqttv3 1.1.1 org.springframework.integration spring-integration-mqtt 4.2.2.RELEASE 在调试org.eclipse.paho.client.mqttv3-1.1.1-sources.jar : – CommsReceiver.Java public void run() { final String methodName = “run”; MqttToken token = null; while (running && […]

使用单个连接实例实现Eclipse MQTT Android Client

我在我的应用程序中使用Eclipse Paho android mqtt服务。 我能够订阅并将消息发布到mqtt broker。 我在应用程序中有几个活动,当任何活动启动时,它使用mqttAndroidClient.connect(null, new IMqttActionListener() {}连接到代理mqttAndroidClient.connect(null, new IMqttActionListener() {}并在mqttAndroidClient.setCallback(new MqttCallback() {}获取响应。 我的问题: 这是实现android mqtt服务的正确方法吗? 有没有办法在整个应用程序中使用相同的连接和回调实例?