コード例 #1
0
        private async void InformMessageReceived(object sender, InformRequestMessageReceivedEventArgs e)
        {
            using var scope = _serviceProvider.CreateScope();
            var store = scope.ServiceProvider.GetRequiredService <ISNMPMessageStore>();

            _logger.LogWarning("Inform version {0}: {1}", e.InformRequestMessage.Version, e.InformRequestMessage);

            var message = new SNMPMessage
            {
                Type        = SNMPMessageType.INFORM,
                Version     = (Data.Models.VersionCode)e.InformRequestMessage.Version,
                TimeStamp   = e.InformRequestMessage.TimeStamp,
                ContextName = e.InformRequestMessage.Scope.ContextName.ToString(),
                MessageId   = e.InformRequestMessage.Header.MessageId,
                Enterprise  = e.InformRequestMessage.Enterprise.ToString(),
                UserName    = e.InformRequestMessage.Parameters.UserName.ToString()
            };

            foreach (var variable in e.InformRequestMessage.Variables())
            {
                message.Variables.Add(new SNMPMessageVariable
                {
                    VariableId = variable.Id.ToString(),
                    Value      = variable.Data.ToString()
                });
            }

            await store.Add(message);
        }
コード例 #2
0
 private static void WatcherInformRequestReceived(object sender, InformRequestMessageReceivedEventArgs e)
 {
     Console.WriteLine("INFORM version {0}: {1}", e.InformRequestMessage.Version, e.InformRequestMessage);
     foreach (var variable in e.InformRequestMessage.Variables())
     {
         Console.WriteLine(variable);
     }
 }
コード例 #3
0
 private static void InformRequestReceived(object sender, InformRequestMessageReceivedEventArgs e)
 {
     _context.Post(delegate
     {
         if (!_closed)
         {
             var pdu = e.InformRequestMessage.Pdu();
             if (pdu.ErrorStatus.ToInt32() == 0)
             {
                 foreach (var v in pdu.Variables)
                 {
                     TrapReceived(v.Id.ToString(), v.Data, e.Sender);
                 }
             }
         }
     }, "SnmpAgent.InformReceived");
 }
コード例 #4
0
        private async void InformMessageReceived(object sender, InformRequestMessageReceivedEventArgs e)
        {
            try
            {
                using var scope = _serviceProvider.CreateScope();
                var store = scope.ServiceProvider.GetRequiredService <ISNMPMessageStore>();

                _logger.LogWarning("Inform version {0}: {1}", e.InformRequestMessage.Version, e.InformRequestMessage);

                var message = new SNMPMessage
                {
                    Type        = SNMPMessageType.INFORM,
                    Version     = (VersionCode)e.InformRequestMessage.Version,
                    TimeStamp   = e.InformRequestMessage.TimeStamp,
                    ContextName = e.InformRequestMessage.Scope?.ContextName?.ToString() ?? "",
                    MessageId   = e.InformRequestMessage.Header?.MessageId ?? 0,
                    Enterprise  = e.InformRequestMessage.Enterprise?.ToString() ?? "",
                    UserName    = e.InformRequestMessage.Parameters?.UserName?.ToString() ?? ""
                };

                foreach (var variable in e.InformRequestMessage.Variables())
                {
                    message.Variables.Add(new SNMPMessageVariable
                    {
                        VariableId = variable.Id?.ToString() ?? "",
                        Value      = variable.Data?.ToString() ?? ""
                    });
                }

                await store.Add(message);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception.Message);
            }
        }
コード例 #5
0
 private static void WatcherInformRequestReceived(object sender, InformRequestMessageReceivedEventArgs e)
 {
     Console.WriteLine(e.InformRequestMessage);
 }
コード例 #6
0
// ReSharper restore MemberCanBePrivate.Global

        private void ListenerInformRequestReceived(object sender, InformRequestMessageReceivedEventArgs e)
        {
            LogMessage(string.Format(CultureInfo.InvariantCulture, StrSends, DateTime.Now, e.Sender, e.InformRequestMessage.ToString(Objects)));
        }