MQTT - 验证错误的IP和端口

时间:2015-12-15 07:05:11

标签: java mqtt

我想验证给定的IP和端口是否在MQTT中运行,否则我必须向用户显示异常。这是我的代码,

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">A</div>
        <div class="col-md-6">
            <div class="col-md-12">B1</div>
            <div class="col-md-12">
                <div class="col-md-8">B1.1</div>
                <div class="col-md-4">B1.2</div>
            </div>
            <div class="col-md-12">
                <div class="col-md-10">B2.1</div>
                <div class="col-md-2">B2.2</div>
            </div>
        </div>
        <div class="col-md-3">C</div>
    </div>
</div>

当我提供正确的IP和端口然后它进入try { MqttMessage message2 = new MqttMessage(); MQTT mqtt_connect = new MQTT(); mqtt_connect.setHost(Host_Address, port); String topic = "/call/MQTT_Config"; mqtt_connect.setClientId("MQTT_Config"); mqtt_connect.setWillRetain(false); mqtt_connect.isWillRetain(); mqtt_connect.setWillTopic(topic); BlockingConnection m_publisher = mqtt_connect.blockingConnection(); m_publisher.connect(); if(m_publisher.isConnected()){ System.out.println("connected"); m_publisher.disconnect(); } else { System.out.println("not connected"); return "Port or IP may not running"; } } catch (Exception e) { e.printStackTrace(); return "failure"; } 条件很好但是当我给出错误的IP或端口然后它到达if(m_publisher.isConnected())然后没有任何事情发生,例如仅加载控制台。不会下一步。为什么呢?

当用户提供不匹配的IP或MQTT端口时,我必须显示一些验证。我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

此处的问题取决于用户输入的内容。

  1. 如果他们为存在但未在端口上侦听的计算机输入IP地址,则计算机将快速响应连接被拒绝消息

  2. 如果他们为不存在的机器输入IP地址,则代码将等待TCP超时(默认为15分钟),然后再产生错误。