コード例 #1
0
        public async Task <MqttMessage> ProcessAsync(MqttClientSession clientSession, Packet packet)
        {
            if (!(packet is UnsubscribePacket reqPacket))
            {
                this.logger.LogWarning("bad data format");
                return(null);
            }

            IMqttResult result = await this.subscriptionManager.UnSubscribe(clientSession, reqPacket);

            return(new MqttMessage {
                Code = result.Code
            });
        }
コード例 #2
0
        protected override async Task <MqttMessage> ProcessAsync(MqttClientSession clientSession, ConnectPacket packet)
        {
            var ack       = new ConnAckPacket();
            var resultMsg = new MqttMessage {
                Packet = ack
            };

            _logger.LogInformation("receive connect packet ,clientId={0}", packet.ClientId);
            IMqttResult validResult = await _mqttAuthorize.Validate(packet);

            ack.ReturnCode = validResult.Code == 0 ? ConnectReturnCode.Accepted : ConnectReturnCode.RefusedNotAuthorized;

            return(resultMsg);
        }
コード例 #3
0
        public async Task <MqttMessage> ProcessAsync(MqttClientSession clientSession, Packet packet)
        {
            var ack       = new ConnAckPacket();
            var resultMsg = new MqttMessage {
                Packet = ack
            };

            if (!(packet is ConnectPacket cntPacket))
            {
                this.logger.LogWarning("bad data format");
                ack.ReturnCode = ConnectReturnCode.RefusedNotAuthorized;
                return(resultMsg);
            }
            this.logger.LogWarning("receive connect packet ,clientId={0}", cntPacket.ClientId);
            IMqttResult validResult = await this.mqttAuthorize.Validate(cntPacket);

            ack.ReturnCode = validResult.Code == 0 ? ConnectReturnCode.Accepted : ConnectReturnCode.RefusedNotAuthorized;

            return(resultMsg);
        }