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

2023-11-30

我的网络中有一个 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. 我创建了一个简单的线程类来检查是否可以使用连接到端口a socket。它成功了。
  4. 如果我使用的话没关系MqttAndroidClient or MqttClient。错误是一样的。

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


我使用的是真正的 Android 设备。 为了获取有关网络的更多信息,我通过以下方式连接到 Android 设备adb shell。从 ping 命令我得到以下信息From 192.192.192.1 icmp_seq=2 Destination Net Unreachable。奇怪的是,使用套接字测试它仍然有效。总的来说,我重新启动设备现在可以了。答案也许不是那么令人满意,但至少现在是有效的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Paho Mqtt Android 连接到代理失败,并显示 (32103) 的相关文章

  • 通过 Session.update 和 HibernateTemplate.merge 进行 Hibernate 更新的区别

    我看到了更新操作的类型 第一的 getHibernateTemplate execute new HibernateCallback public Object doInHibernate Session session session f
  • 将 Java 3D 坐标转换为 2D 屏幕坐标

    我正在使用一个名为 Walrus 的 Java 3D 应用程序 该应用程序用于显示有向图 该代码已经具有突出显示节点并在给定其屏幕坐标的情况下在图形中相邻绘制标签的功能 旋转屏幕后 该节点不再突出显示 我所拥有的是 3D 中的节点坐标 我需
  • 从多个地方绘制 JPanel

    我目前正在为学校开发一款 Java 2D 游戏 我们必须使用抽象工厂设计模式 对于 2D 实现 我使用工厂如下 public class Java2DFact extends AbstractFactory public Display d
  • 在类路径中使用通配符调用 java 失败

    我当前目录中有一些 jar 它们都需要位于类路径中 因此我想对类路径使用通配符约定 命令行是 java exe classpath org python util jython args 但是我收到这个错误 Exception in thr
  • 无法在android中使用retrofit发出@Post请求

    我正在学习如何在 android 中使用改造 但是每当我尝试从互联网检索数据时 我的应用程序不会返回任何内容我的响应没有成功 我不知道如何修复当前我正在尝试发布的错误并使用此 URL 检索数据https jsonplaceholder ty
  • 回购:找不到命令?

    我是 git 和 repo 的新手 我使用的是window 7 所以我使用cygwin 我已经从 cygwin 安装程序安装了 git 之后我尝试在 cygwin 中使用以下命令进行存储 repo init u git android gi
  • 如何在不打开浏览器的情况下查看 Android 应用程序中的网页?

    嘿 我正在开发一个 Android 应用程序 我想连接到该应用程序内的网络 不过 我在某种程度上尝试过 WebView 但它在我的目录中显示的文件很好 但当连接到 google com 时 它显示错误 然后我添加了这个文件
  • 如何在 Struts 2 中访问 OGNL 跟踪评估?

    有人告诉我要优化网络应用程序 为此 我使用JProfiler https www ej technologies com products jprofiler overview html 我注意到很大一部分响应时间都花在了表示层上 特别是当
  • JS 中的 .Jar 文件

    有谁知道如何在 JS 中访问 jar 文件 我已经用 Java 创建了类并作为 jar 文件导入 我想从 JS 文件访问该类 大家好 我感谢你们所有人 我尝试在 Firefox XUL 中使用 JS 列出文件夹中的文件 但我做不到 然后我决
  • 使用 Spark SQL 时找不到 Spark Logging 类

    我正在尝试用 Java 进行简单的 Spark SQL 编程 在程序中 我从 Cassandra 表获取数据 将RDD into a Dataset并显示数据 当我运行spark submit命令 我收到错误 java lang Class
  • 从 Brixton.RC1 开始的 ZuulProxy 未传递授权标头

    从 Spring Cloud 切换时Brixton M5 to Brixton RC1我的 ZuulProxy 不再通过Authorization标头下游到我的代理服务 我的设置中有各种各样的角色 但大多数都相当简单 Authorizati
  • 如何组织课程、课程包[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 您如何决定包名称应该是什么以及什么类应该放入哪个包中 我正在开发一个项目 在该项目中 我不断添加 删除类 并且不确定我是否需要一个新包 或者应该将其添
  • Android:如何实现“分布式控制”

    对于与 Android 开发者论坛的交叉发帖表示歉意 那里没有收到任何答复 我有一个有趣的设计挑战 我有一个前端 Activity 和一个后端 用本机 C C 编写 代码 后端是一个复杂的对象 它部分控制 应用程序流程一旦启动就在它自己的线
  • 启动 Firefox 并等待其关闭

    Question 我想启动 Firefox 网络浏览器作为访问特定网站的过程 然后等到它关闭 一种特殊情况是浏览器可能已经打开并正在运行 因为用户可能已经访问过某个网站 在这种情况下 浏览器可能会在现有窗口中打开一个新选项卡 并且新启动的进
  • 自动将通配符导入重构为 IntelliJ 中的显式导入(适用于 Scala/Java)

    考虑下面的代码 是否可以让 IntelliJ 自动将每个通配符导入重构为显式导入 无论范围内使用什么 例如import scalatags JsDom all into import scalatags JsDom all ol li di
  • Java 8 流过滤器 - 基于排序的更新

    我正在尝试对过滤器中的字段进行排序 输入文件 样本记录 DocumentList Document id 5975ff00a213745b5e1a8ed9 u id mailboxcontent id 5975ff00a213745b5e1
  • 与桌面浏览器相比,移动浏览器有多强大? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • E/libEGL: validate_display:99 错误 3008 (EGL_BAD_DISPLAY) API 24 或更高版本

    当我使用 API 为 24 或更高版本的设备时 我收到此错误 E libEGL validate display 99 错误 3008 EGL BAD DISPLAY XML 代码 activity main xml
  • java 更新进度条

    我有一个 JFrame 和以下组件 JButton jButton1 Progress Bar ProgressBar 及其公共静态 JLabel 状态及其公共静态 单击按钮时会执行不同的语句 我想在每个语句后更新我的进度条 这是我的代码
  • 只有创建视图层次结构的原始线程才能触摸其视图。在安卓上[重复]

    这个问题在这里已经有答案了 我只是一个初学者 所以请原谅我问一个可能愚蠢的问题 我不明白只有创建视图层次结构的原始线程才能触摸其视图的含义 请有人告诉我为什么会发生此错误以及如何解决此问题 ThankYou 这是我的班级 public cl

随机推荐

  • 重写 JS 中的图像构造函数?

    是否可以覆盖ImageJS 中的构造函数 因此 例如 每次new Image 创建后 一条消息会写入控制台吗 尝试这个 function var OriginalImage window Image window Image functio
  • Cocoa:带有用于切换选项卡的工具栏图标的选项卡视图

    各种首选项对话框 Safari Mail Xcode4 和任何使用 NSPreferences 的对话框 和 Xcode4 的组织器使用让人想起选项卡视图的东西 只不过它使用工具栏按钮在选项卡之间切换 这些按钮被 按下 实现这种选项卡视图的
  • 到期时自动刷新 ASP.NET 输出缓存

    我有一些昂贵的页面 我使用 ASP NET 输出缓存进行缓存 如下所示 OutputCache Duration 3600 VaryByParam none 显然 缓存将在 3600 秒 1 小时 后过期 下一个碰巧加载该页面的可怜人将不得
  • Spring 与 Jackson ObjectMapper 和 Java 8 Time 集成 (JSR-310)

    我正在努力配置 Spring Integration DSL 转换器使用的 自定义 ObjectMapper 我收到一个java time Instant我想将其解析为对象属性的 json 表示形式 IE 类型 测试 来源 测试 时间戳 e
  • 重用缓存的 Spark RDD

    Spark 是否有可能在另一个应用程序中 或在同一应用程序的另一个运行中 重用缓存的 RDD JavaRDD
  • 如何从 Capistrano 运行 rake 任务?

    我已经有一个可以在生产服务器上部署我的应用程序的deploy rb 我的应用程序包含一个自定义 rake 任务 lib tasks 目录中的 rake 文件 我想创建一个 cap 任务来远程运行该 rake 任务 更明确一点 在你的 con
  • 发送 APN 返回 BadDeviceToken,DeviceToken 格式应该是什么?

    我的后端使用 Node js 和 Express js 使用npm apn包 它使用 Apple 的新提供商身份验证令牌 iOS应用程序获得许可并将收到的32字节设备令牌发送到后端 编码为base64字符串 但是 当尝试使用设备令牌 编码为
  • SpringMVC-FileUpload - 客户端发送的请求在语法上不正确

    我见过几个关于同一主题的 qt 但我没有发现这个错误的任何线索 我正在研究 POC 并点击下面的链接 http spring io guides gs uploading files 正如上面教程中提到的 在独立模式下 spring emb
  • Sort() 和 CompareTo() 方法的内部工作原理

    我一直在试图弄清楚如何CompareTo 方法在内部有效 但我失败了 我搜索过这个网站并阅读了一些帖子 我想我已经在 MSDN 上看到了关于这个主题的所有内容 但我似乎不明白 一个 MSDN 示例 public int CompareTo
  • Geckodriver Selenium 自动下载 PDF

    我正在尝试在 geckodriver Firefox 中自动下载 pdf 文件 我搜索了 stackoverflow 和其他资源 认为下面的代码应该可以工作 profile set preference browser download f
  • MySQL 连接器/C++ 错误访问崩溃

    在 Xcode 中使用 C 我尝试使用 MySQL Connector C 访问 MySQL 数据库 问题是程序 用 Xcode 编译 总是崩溃 EXC BAD ACCESS code 13 address 0x0 打电话时 driver
  • 如何将画布上的图片复制到剪贴板?

    我有一些 Tkinter 画布以及上面的一些线条和文本图片 有没有简单的方法将其复制到剪贴板 你可以使用 postscript画布的方法来获取内容的封装 PostScript EPS 表示形式 然后 使用 图像魔术师的 Python 绑定
  • 在打字稿中使用联合类型时属性不存在

    假设我有两个接口 interface Box x number y number and interface ColouredBox x number y number colour string 出于这个问题的目的 假设我无法更改接口 现
  • 在运行时更改谷歌地图 v3 中的光标

    The draggableCursor可以在创建时在 google maps Map 对象中设置选项 有什么方法可以在运行时设置此选项吗 或者还有其他干净的方法如何在运行时更改光标 我已经搜索过文档但没有什么比setDraggableCur
  • 使用 Google Cloud Storage 的 Apache Drill

    Apache Drill 功能列表提到它可以从 Google Cloud Storage 查询数据 但我找不到任何有关如何执行此操作的信息 我已经让它在 S3 上工作得很好 但我怀疑我在 Google 云存储方面错过了一些非常简单的东西 有
  • 在android studio上设置flutter错误

    为 android studio 设置 flutter 时出错 我试过 重复这个过程 删除android studio并重新启动 创建项目时出错 无法在 Flutter SDK Target 目录中创建项目 C src flutter pa
  • Facebook 使用 C# 使用 Graph API 检索数据

    我使用 c net 创建了桌面 Facebook 应用程序 我想检索用户的消息 帖子和聊天记录 这是检索用户所有信息的便捷方法 我已经开始使用 Facebook Graph API 但我没有得到任何示例 谁能帮我 聚会有点晚了 但无论如何
  • codeigniter - APPPATH 在控制器之后返回路径

    我在整理应用程序中的路径时遇到问题 我正在使用 APPPATH 函数在数据库中读取 写入图像的字符串路径 问题是 APPPATH 将函数放在控制器之后 这是我获取 css 的函数 当我去http localhost project inde
  • 使用 Process.Start() 时 Windows 窗体 MouseUp 触发两次

    在我的 Windows 窗体应用程序中 如果单击其中一项 我必须打开一个包含特定文件夹的新资源管理器窗口 我正在监听 MouseUp 事件 因为我已经有一些点击检测 我需要点击坐标 现在如果我打开一个新的资源管理器窗口 private vo
  • Paho Mqtt Android 连接到代理失败,并显示 (32103)

    我的网络中有一个 ActiveMQ 代理正在监听 1883 mqtt 如果我使用简单的 Java 应用程序和 mqtt client 0 4 0 jar 库连接到该代理 则一切正常 现在我想使用 Android 设备连接到该经纪人 不幸的是