如何在android studio中将mosquitto服务器连接到模拟器

苏珊_55

请帮助我了解如何将 mosquitto 服务器连接到模拟器中的应用程序。在 Windows 中使用 mosquitto 代理。无法使用系统的 IP 地址将 mosquitto 服务器连接到模拟器。我可以在 cmd 中看到这两个端口作为侦听端口。

TCP 127.0.0.1:1883 和 TCP [::1]:1883

我已经在应用程序中添加了 paho 的所有依赖项、库和服务。

String clientId = MqttClient.generateClientId();
                    mqttAndroidClient = new MqttAndroidClient(MainActivity.this, **"tcp://192.168.0.5:1883"**,clientId);
                    mqttAndroidClient.setCallback(new MqttCallback() {
                        @Override
                        public void connectionLost(Throwable cause) {
                            Log.d("MqttConnection", "Connection Lost!");
                        }
            
                        @Override
                        public void messageArrived(String topic, MqttMessage message) throws Exception {
                            Log.d("Message", topic + ":  + " + new String(message.getPayload()));
                        }
            
                        @Override
                        public void deliveryComplete(IMqttDeliveryToken token) {
                            Log.d("Delivery Complete", "Delivery Complete!");
                        }
                    });
            
                    connectButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
                        mqttConnectOptions.setAutomaticReconnect(true);
                        mqttConnectOptions.setCleanSession(false);
                        try {
                            mqttAndroidClient.connect(mqttConnectOptions,null, new IMqttActionListener() {
                                @Override
                                public void onSuccess(IMqttToken asyncActionToken) {
                                    Log.d("Mqtt Connection","Connection Success!");
                                }
                                @Override
                                public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
                                    Log.d("Mqtt Connection Failure","Failed to connect to: " +serverUri + exception.toString());
                                }
                            });
                        } catch (MqttException e) {
                            e.printStackTrace();
                        }
                    }
                });
硬盘

127.0.0.1::1始终指向运行相关代码的机器,在模拟器的情况下,它是模拟器而不是运行模拟器的主机。

您可以在此处的文档中找到地址列表:https : //developer.android.com/studio/run/emulator-networking

但是10.0.2.2是与模拟器主机通信的正确地址。

其次,默认情况下,从 v2.0.0 开始,mosquitto 只会侦听 localhost,并且不允许没有用户名/密码的连接。您需要传递一个配置文件以启用绑定到询问接口并允许匿名连接的侦听器。

请务必阅读 v2.0.0 发行说明

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Visual Studio Code连接到MySQL服务器

如何在Android模拟器中连接localhost?

如何从Android模拟器连接到我的http:// localhost网络服务器

如何修复Android模拟器中的“无法连接到相机服务”异常

如何将Visual Studio 2015 Android模拟器连接到网络?

如何在Android Studio中连接或链接到本地主机服务器地址

如何从Android模拟器连接到本地服务器?

如何从Android Studio设置Android模拟器DNS服务器

如何从Android Studio模拟器连接到localhost

Android Studio的模拟器未连接到互联网

Android Studio-无法连接到设备或模拟器

Wi-Fi无法连接到Android Studio模拟器

如何从MQTT JavaScript客户端连接到Mosquitto服务器?

如何连接到Android模拟器的本地主机?

如何从IDEA连接Android Studio模拟器?

从android的模拟器到服务器的POST请求

我的android应用未连接到服务器并抛出了android模拟器

通过android模拟器连接到服务器

NetBeans无法连接到Android模拟器AVD

如何通过Android连接到SMSC模拟器?

如何在Android模拟器上向WAMP服务器发出HTTP请求

从Xamarin Vs2015 Android模拟器连接到本地Web服务

Android Studio 模拟器连接状态

Android studio - 无法连接到 LDAP 服务器

如何在 Docker 中将 NATS 服务器连接到 NodeJS 应用程序

如何在 android 模拟器中使用 docker 服务

从 Android 模拟器连接到本地 asp.net web 服务器

Android Studio 连接到 Socket 服务器

我的 GAE 本地服务器如何连接到 Firebase 模拟器