可以在Android Studio中模拟MQTT代理吗?

问题描述 投票:1回答:2

我想在Android Studio中对Mqtt客户端模块进行单元测试,因为我想将数据从Android设备发送到PC,但我不知道如何在没有真实服务器的情况下测试,我正在使用paho库。有办法做到这一点?

android-studio mqtt paho
2个回答
0
投票

您不能使用paho库来模拟代理,但是有一些moquette broker(https://github.com/moquette-io/moquette),您可以使用它来在现有Java应用程序中嵌入代理


0
投票

是的,在Mac,Linux或Windows计算机上使用Android Studio和Android Emulator进行开发时,可以轻松执行本地离线测试 -

首先安装mosquitto并在localhost上运行代理(在Windows上只需双击mosquitto.exe,在Linux / Mac上运行终端窗口中的./mosquitto)。

然后打开另一个终端窗口并通过运行来订阅所有主题:

./mosquito_sub -v -t "#"

或者在cmd窗口的Windows上:

mosquito_sub.exe -v -t "#"

最后在Java源代码中,在模拟器中运行时更改URL:

public static boolean isEmulator() {
    return (Build.PRODUCT != null && Build.PRODUCT.toLowerCase().contains("sdk")) ||
            (Build.MODEL != null && Build.MODEL.toLowerCase().contains("sdk"));
}

private static final String BROKER_URL = 
    isEmulator() ? "tcp://10.0.2.2/" : "tcp://test.mosquitto.org/";
© www.soinside.com 2019 - 2024. All rights reserved.