Paho Mqtt Android连接到代理失败并显示(32103)

正义编码

我的网络中有一个ActiveMQ代理,监听1883(mqtt)。如果我使用简单的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 failed: ENETUNREACH (Network is unreachable)
03-23 11:08:15.695 24572-24572/com.my.package W/System.err:     at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:79)
03-23 11:08:15.695 24572-24572/com.my.package W/System.err:     at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:590)
03-23 11:08:15.695 24572-24572/com.my.package W/System.err:     at java.lang.Thread.run(Thread.java:856)
03-23 11:08:15.695 24572-24572/com.my.package W/System.err: Caused by: 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.703 24572-24572/com.my.package W/System.err:     at libcore.io.IoBridge.isConnected(IoBridge.java:224)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at libcore.io.IoBridge.connect(IoBridge.java:112)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at java.net.Socket.connect(Socket.java:842)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:70)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     ... 2 more
03-23 11:08:15.703 24572-24572/com.my.package W/System.err: Caused by: libcore.io.ErrnoException: isConnected failed: ENETUNREACH (Network is unreachable)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     at libcore.io.IoBridge.isConnected(IoBridge.java:208)
03-23 11:08:15.703 24572-24572/com.my.package W/System.err:     ... 8 more

我正在使用Android服务,该服务称为MqttWorker extends Thread{

另外作为图书馆,我正在使用:

compile('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2') {
      exclude module: 'support-v4'
}

按照我的工人的代码:

@Override
public void run() {
String clientId = "AndroidSub_7";

    try {
        this.client =
            new MqttAndroidClient(this.context, "tcp://192.192.192.10:1883", clientId);

        this.options = new MqttConnectOptions();
        this.options.setWill("clients/clienterrors", "crashed".getBytes(),2,true); // handle uncleanly closed subscribers

        this.client.setCallback(new ClientCallbacks()); // set new callbacks
        this.client.connect(options);

        IMqttToken conToken;

        conToken = client.connect(options, this.context, new IMqttActionListener() {
        @Override
        public void onSuccess(IMqttToken asyncActionToken) {
            Log.d(TAG, "onSuccess");
        }

        @Override
        public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
            Log.e(TAG, "onFailure: " + exception);
            exception.printStackTrace();
        }

        });
    } catch (MqttException e) {
        Log.e(TAG,"Connection to broker failed:" + e);
    }
}

到目前为止我尝试过的是:

  1. 确保不要使用回送地址(这里有很多线程与此有关)
  2. 确保我已在中设置了所需的权限 AndroidManifest.xml WAKE_LOCK /INTERNET / WRITE_EXTERNAL_STORAGE / ACCESS_NETWORK_STATE
  3. 我创建了一个简单的线程类,以检查是否可以使用套接字连接到端口成功了。
  4. 我是否使用MqttAndroidClientor都没有关系MqttClient错误是相同的。

我希望有一个人可以帮助我。我没办法解决这个问题了。

正义编码

我使用了真正的Android设备。要获取有关该网络的更多信息,我通过连接到了Android设备adb shell从ping命令,我得到以下信息From 192.192.192.1 icmp_seq=2 Destination Net Unreachable奇怪的是,它仍然可以使用套接字测试工作。总体而言,我重新启动了设备,现在可以正常工作了。答案可能不尽如人意,但至少现在可以了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Paho Mqtt Android连接到代理失败并显示(32103)

来自分类Dev

Paho MQTT Android服务问题

来自分类Dev

Paho(MQTT)客户端无法连接

来自分类Dev

MQTT Paho Python可靠的重新连接

来自分类Dev

Paho中的MQTT无法建立连接

来自分类Dev

Paho(MQTT)客户端无法连接

来自分类Dev

android-用于发布的Paho MQTT服务

来自分类Dev

Paho MQTT与MQTT Paho Spring集成

来自分类Dev

paho-mqtt客户端可以同时连接到多个代理吗?

来自分类Dev

Paho MQTT引发异常

来自分类Dev

Paho MQTT Golang协议

来自分类Dev

Paho MQTT JS 客户端已连接错误?

来自分类Dev

发布后python mqtt-paho断开连接

来自分类Dev

Android中MQTT的Eclipse Paho引发错误

来自分类Dev

取消绑定外部服务Android Paho MQTT ServiceConnectionLeaked错误

来自分类Dev

Paho mqtt中的SOP违规

来自分类Dev

Paho MQTT (C++) 客户端无法连接到 Mosquitto

来自分类Dev

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

来自分类Dev

Paho MQTT客户端连接可靠性(断开连接时重新连接)

来自分类Dev

Python Paho MQTT如何在Postgresql关闭连接或其他东西后自动重新连接

来自分类Dev

Paho Python MQTT客户端成功连接,但未调用on_connect回调

来自分类Dev

互联网上的Paho mqtt断开连接未运行回调

来自分类Dev

Eclipse Paho MQTT 客户端:如何检查现有连接?

来自分类Dev

Worklight-Paho MQTT Javascript:始终在Android设备上超时并在模拟器中工作

来自分类Dev

如何在必须在多个活动中访问的Android中实现Paho MQTT客户端

来自分类Dev

使用PAHO订阅和阅读MQTT消息

来自分类Dev

paho-mqtt:回调线程

来自分类Dev

Eclipse Paho Mqtt-Spring Java配置

来自分类Dev

多个订阅的 Paho mqtt 回调

Related 相关文章

热门标签

归档