private Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            EventId eventId = GetNextEventId();

            _logger.LogInformation(eventId, $"Client connected (Id: {eventArgs.ClientId})");

            return(Task.CompletedTask);
        }
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            await userService.SetConnected(eventArgs.ClientId);

            await userService.AddLog(eventArgs.ClientId);

            await mqttServer.PublishAsync(EventTopics.NewClientConnected, eventArgs.ClientId);
        }
示例#3
0
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            lbxMessage.BeginInvoke(this.updateListBoxAction, $">Client Connected:ClientId:{eventArgs.ClientId},ProtocalVersion:");

            var s = await this.mqttServer.GetClientStatusAsync();

            this.sslMessage.Text = $"總連接數:{s.Count}";
        }
示例#4
0
 public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
 {
     var serializedData = Utf8Json.JsonSerializer.Serialize(new { ClientId = eventArgs.ClientId });
     var message        = new MqttApplicationMessageBuilder().WithTopic(eventTopics.NewClientConnected)
                          .WithPayload(serializedData)
                          .Build();
     await mqttServer.PublishAsync(message);
 }
示例#5
0
 public static void ClientConnectedHandler(MqttServerClientConnectedEventArgs args)
 {
     try
     {
         var clientID = args.ClientId;
     }
     catch (Exception ex)
     {
         mqttServiceLogger.LogError(ex.Message);
     }
 }
示例#6
0
        /// <summary>
        ///     Fired when a client connects
        /// </summary>
        /// <param name="eventArgs">MqttServerClientConnectedEventArgs</param>
        /// <returns>Task</returns>
        public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            // Ignore UI clients
            if (eventArgs.ClientId.StartsWith("client-"))
            {
                return(Task.CompletedTask);
            }

            nodeStates.TryAdd(eventArgs.ClientId, null);
            Helper.Log(new LogMessage(LogSeverity.Info, nameof(MqttService), $"Connected to node {eventArgs.ClientId}"));
            return(Task.CompletedTask);
        }
示例#7
0
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            var message = new MqttConnectMessage()
            {
                ClientId = eventArgs.ClientId
            };

            if (string.Equals(message.ClientId, _configuration.GetSection("MQTT").GetSection("MqttClientEnactorName").Value) == false)
            {
                await _endpoint.Request <HttpStatusCode>(message).ConfigureAwait(false);
            }
        }
        public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs context)
        {
            try
            {
                //_logger.LogInformation($"Client connected: {context.ClientId}");
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, "Error while handling client connected event.");
            }

            return(Task.CompletedTask);
        }
示例#9
0
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            _logger.LogInformation($"Client: {eventArgs.ClientId} connected!");

            var message = new MqttApplicationMessageBuilder()
                          .WithTopic($"clients/{eventArgs.ClientId}/connect")
                          .WithPayload(eventArgs.ClientId)
                          .WithExactlyOnceQoS()
                          .WithContentType("client_event")
                          .Build();

            await this._mqttServer.PublishAsync(message);
        }
示例#10
0
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            if (!publishers.ContainsKey(eventArgs.ClientId))
            {
                Publisher publisher = new Publisher(mqttServer);
                publishers.TryAdd(eventArgs.ClientId, publisher);

                foreach (var measurable in measurables)
                {
                    publisher.Register(measurable);
                }
            }
        }
示例#11
0
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            var message = new MqttApplicationMessageBuilder()
                          .WithTopic($"connected/{eventArgs.ClientId}")
                          .WithPayload(eventArgs.ClientId)
                          .WithExactlyOnceQoS()
                          .Build();

            await _mqttServer.PublishAsync(message);

            _logger.LogInformation($"Device connected - {eventArgs.ClientId}");

            await Task.CompletedTask;
        }
        public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            try
            {
                var pythonEventArgs = new PythonDictionary
                {
                    { "client_id", eventArgs.ClientId }
                };

                _pythonScriptHostService.InvokeOptionalFunction("on_client_connected", pythonEventArgs);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, "Error while handling client connected event.");
            }

            return(Task.CompletedTask);
        }
        public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
        {
            System.Console.WriteLine($"Connected: {eventArgs.ClientId}");
            var zigbeeClientId = _zigbeeSettings.Id;
            var hubClientId    = _clientSettings.Id;

            if (eventArgs.ClientId != zigbeeClientId && eventArgs.ClientId != hubClientId)
            {
                using (var scope = _serviceScopeFactory.CreateScope())
                {
                    var mediator = scope.ServiceProvider.GetService <IMediator>();
                    var device   = await mediator.Send(new GetMqttDeviceByIdQuery()
                    {
                        Id = eventArgs.ClientId
                    });

                    if (device != null)
                    {
                        var result = await mediator.Send(
                            new UpdateMqttDeviceCommand()
                        {
                            Id = device.Id, isAvailable = true, isConfirmed = device.IsConfirmed
                        });
                    }

                    else
                    {
                        var result = await mediator.Send(
                            new CreateMqttDeviceCommand()
                        {
                            Id = eventArgs.ClientId, isAvailable = true, isConfirmed = false
                        });

                        await _mqttServer.PublishAsync(_brokerEvents.NewClientConnected, eventArgs.ClientId);
                    }
                }
            }
        }
示例#14
0
        public async Task Fire_Client_Connected_Event()
        {
            using (var testEnvironment = CreateTestEnvironment())
            {
                var server = await testEnvironment.StartServer();

                MqttServerClientConnectedEventArgs eventArgs = null;
                server.ClientConnectedHandler = new MqttServerClientConnectedHandlerDelegate(e =>
                {
                    eventArgs = e;
                });

                await testEnvironment.ConnectClient(o => o.WithCredentials("TheUser"));

                await LongTestDelay();

                Assert.IsNotNull(eventArgs);

                Assert.IsTrue(eventArgs.ClientId.StartsWith(nameof(Fire_Client_Connected_Event)));
                Assert.IsTrue(eventArgs.Endpoint.Contains("127.0.0.1"));
                Assert.AreEqual(MqttProtocolVersion.V311, eventArgs.ProtocolVersion);
                Assert.AreEqual("TheUser", eventArgs.UserName);
            }
        }
        /// <summary>
        /// 客户连接
        /// </summary>
        private void MqttNetServer_ClientConnected(MqttServerClientConnectedEventArgs e)
        {
            string ClientId = e.ClientId;

            log.LogInformation($"client [{ClientId}] connected");
        }
示例#16
0
 internal void Server_ClientConnected(object sender, MqttServerClientConnectedEventArgs e)
 {
     _logger.LogInformation($"Client [{e.ClientId}] connected");
     clients++;
     Task.Run(() => _serverEx.PublishAsync("$SYS/broker/clients/total", clients.ToString()));
 }
 internal void Server_ClientConnected(object sender, MqttServerClientConnectedEventArgs e)
 {
     _logger.LogInformation($"Client [{e.ClientId}] Connected");
     MQTTBroker.Status.Clients++;
 }
示例#18
0
 //MqttServerApplicationMessageInterceptorDelegate asd = new MqttServerApplicationMessageInterceptorDelegate(e =>
 //  {
 //      if (e.ApplicationMessage.Topic == "message")
 //      {
 //          Console.WriteLine("### RECEIVED APPLICATION MESSAGE ###");
 //          Console.WriteLine($"+ Topic = {e.ApplicationMessage.Topic}");
 //          Console.WriteLine($"+ Payload = {Encoding.UTF8.GetString(e.ApplicationMessage.Payload)}");
 //          Console.WriteLine($"+ QoS = {e.ApplicationMessage.QualityOfServiceLevel}");
 //          Console.WriteLine($"+ Retain = {e.ApplicationMessage.Retain}");
 //          Console.WriteLine();
 //          Application.Current.Dispatcher.BeginInvoke(
 //                   DispatcherPriority.Background,
 //                   new Action(() =>
 //                   {
 //                       txtMessage.Text = "";
 //                       txtMessage.Text += "### RECEIVED APPLICATION MESSAGE ###\n";
 //                       txtMessage.Text += "$ Topic = " + e.ApplicationMessage.Topic + "\n";
 //                       txtMessage.Text += "$ Payload = " + Encoding.UTF8.GetString(e.ApplicationMessage.Payload) + "\n";
 //                       txtMessage.Text += "$ QoS = " + e.ApplicationMessage.QualityOfServiceLevel + "\n";
 //                       txtMessage.Text += "$ Retain = " + e.ApplicationMessage.Retain + "\n";
 //                   })
 //          );
 //          //Console.WriteLine();
 //      }
 //  } );
 private void MqttServer_ClientConnected(object sender, MqttServerClientConnectedEventArgs e)
 {
     Console.WriteLine(e.ClientId);
 }
示例#19
0
 private void OnConnected(MqttServerClientConnectedEventArgs e)
 {
     Console.WriteLine("Client Connected:" + e.ClientId);
     clientSession.Add(e.ClientId);
 }
示例#20
0
        /// <summary>
        /// 客户连接
        /// </summary>
        /// <param name="e"></param>
        private static void MqttNetServer_ClientConnected(MqttServerClientConnectedEventArgs e)
        {
            var ClientId = e.ClientId;

            Console.WriteLine($"客户端[{ClientId}]已连接");
        }
示例#21
0
 private static void MqttServer_ClientConnected(MqttServerClientConnectedEventArgs e)
 {
     Console.WriteLine($"客户端[{e.ClientId}]已连接,协议版本:{e.ClientId}");
     connectedClientId.Add(e.ClientId);
 }
 public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
 {
     _logger.LogInformation($"Client Connect {eventArgs.ClientId}");
     return(Task.CompletedTask);
 }
示例#23
0
 public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
 {
     return(Task.Run(() => { }));
 }
示例#24
0
 public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
 {
     client++;
     return(Task.FromResult(true));
 }
示例#25
0
 public async Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs e)
 {
     await _handlerInstance.ClientConnected(new RemoteConnectedEvent(e.ClientId));
 }
示例#26
0
 public Task ClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
 {
     _connectedClients.Add(eventArgs.ClientId);
     return(Task.CompletedTask);
 }
示例#27
0
 public static void OnMqttServerClientConnected(MqttServerClientConnectedEventArgs e)
 {
     //Console.WriteLine($"客户端[{e.ClientId}]已连接");
 }
示例#28
0
 private static Task ClientConnectedHandler(MqttServerClientConnectedEventArgs arg)
 {
     //Console.WriteLine($"Client {arg.ClientId} connected");
     return(Task.FromResult(12));
 }
示例#29
0
 /// <summary>
 /// 某客户端连接已建立
 /// </summary>
 public void EH_ClientConnected(MqttServerClientConnectedEventArgs eventArgs)
 {
     LMLogs.NLog.Logger.Log(
         LMLogs.LogLevel.Info,
         $"检测到有客户端建立了连接:\n客户端名称:<{eventArgs.ClientId}>");
 }
 public Task HandleClientConnectedAsync(MqttServerClientConnectedEventArgs eventArgs)
 {
     _logger.LogDebug($"_mqttServer_ClientConnected: {eventArgs.ClientId}");
     return(Task.CompletedTask);
 }