zoukankan      html  css  js  c++  java
  • MqttConnectReturnCode枚举值

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

    1、MqttConnectReturnCode类

    /*
     * Copyright 2014 The Netty Project
     *
     * The Netty Project licenses this file to you under the Apache License,
     * version 2.0 (the "License"); you may not use this file except in compliance
     * with the License. You may obtain a copy of the License at:
     *
     *   http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
     * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
     * License for the specific language governing permissions and limitations
     * under the License.
     */
    
    package io.netty.handler.codec.mqtt;
    
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * Return Code of {@link MqttConnAckMessage}
     */
    public enum MqttConnectReturnCode {
        CONNECTION_ACCEPTED((byte) 0x00),
        CONNECTION_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION((byte) 0X01),
        CONNECTION_REFUSED_IDENTIFIER_REJECTED((byte) 0x02),
        CONNECTION_REFUSED_SERVER_UNAVAILABLE((byte) 0x03),
        CONNECTION_REFUSED_BAD_USER_NAME_OR_PASSWORD((byte) 0x04),
        CONNECTION_REFUSED_NOT_AUTHORIZED((byte) 0x05);
        private static final Map<Byte, MqttConnectReturnCode> VALUE_TO_CODE_MAP;
        static {
            final Map<Byte, MqttConnectReturnCode> valueMap = new HashMap<Byte, MqttConnectReturnCode>();
            for (MqttConnectReturnCode code: values()) {
                valueMap.put(code.byteValue, code);
            }
            VALUE_TO_CODE_MAP = Collections.unmodifiableMap(valueMap);
        }
    
        private final byte byteValue;
    
        MqttConnectReturnCode(byte byteValue) {
            this.byteValue = byteValue;
        }
    
        public byte byteValue() {
            return byteValue;
        }
    
        public static MqttConnectReturnCode valueOf(byte b) {
            if (VALUE_TO_CODE_MAP.containsKey(b)) {
                return VALUE_TO_CODE_MAP.get(b);
            }
            throw new IllegalArgumentException("unknown connect return code: " + (b & 0xFF));
        }
    }

    2、返回值具体含义

    返回值 16进制 含义
    0 0x00 Connection Accepted   正常连接
    1 0x01 Connection Refused: unacceptable protocol version   协议版本不被接受
    2 0x02 Connection Refused: identifier rejected   连接拒绝
    3 0x03 Connection Refused: server unavailable   服务不可用
    4 0x04 Connection Refused: bad user name or password    账号密码错误
    5 0x05 Connection Refused: not authorized    权限不足
    6-255   Reserved for future use

    只有0-5目前被使用到,其他值有待日后使用。一般返回值为0x00,表示连接建立。非法的请求,需要返回相应的数值。

  • 相关阅读:
    nsq main里面golang多个协程管理写法
    关于centos压测的问题
    Jaeger全链路go实现,包含http和消息队列的链式传递
    mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法
    Axure9:一键复制Iconfont图标到Axure的插件安装
    Axure9:导入阿里云DataV.GeoAtlas矢量地图到Axure
    Axure:编辑技巧:拖动复制、编组、组内选中、穿透选中、选中模式
    Axure学习一:打开软件,预览和生成HTML原型、安装Chrome插件
    Axure RP授权码
    vm 安装rethat和centos
  • 原文地址:https://www.cnblogs.com/mao2080/p/8260357.html
Copyright © 2011-2022 走看看