示例#1
0
        private void User_Ctcp_PingReplyReceived(IrcUser user, PingReplyReceivedEventArgs args)
        {
            string text    = Locator.Get <ITranslationService>().Translate("CtcpReplies", "Ping", user.Nickname, args.ReplyTime.TotalSeconds);
            var    message = new IrcMessage(user.Network, MessageDirection.FromUser, user, IrcMessageType.Info, text);

            this.HandleGlobalMessage(message);
        }
示例#2
0
 private void _pingReplyReceived(object sender, PingReplyReceivedEventArgs e)
 {
     _dispatcher.BeginInvoke(new Action(() =>
     {
         int t = 0;
         if (e.PingReply.Status == IPStatus.Success)
         {
             t = (int)e.PingReply.RoundtripTime;
         }
         else
         {
             t = -1;
         }
         _listReplies.Add(t);
         if (_listReplies.Count > _settings.MaxRepliesCount)
         {
             _listReplies.RemoveAt(0);
         }
         if (!_listReplies.Contains(-1))
         {
             CurrentPingState = PingState.GoodSignal;
             if (_settings.SoundPing == SoundPing.SignalIsGood)
             {
                 System.Media.SystemSounds.Beep.Play();
             }
         }
         else
         {
             int i = 0;
             foreach (int item in _listReplies)
             {
                 if (item == -1)
                 {
                     i++;
                 }
             }
             if (i == _listReplies.Count)
             {
                 CurrentPingState = PingState.NoSignal;
                 if (_settings.SoundPing == SoundPing.NoSignal)
                 {
                     System.Media.SystemSounds.Beep.Play();
                 }
             }
             else
             {
                 CurrentPingState = PingState.BadSignal;
             }
         }
     }));
 }
示例#3
0
 private void _pingReplyReceived(object sender, PingReplyReceivedEventArgs e)
 {
     _dispatcher.BeginInvoke(new Action(() =>
     {
         int t = 0;
         if (e.PingReply.Status == IPStatus.Success)
             t = (int)e.PingReply.RoundtripTime;
         else
             t = -1;                                
         _listReplies.Add(t);
         if (_listReplies.Count > _settings.MaxRepliesCount)
             _listReplies.RemoveAt(0);
         if (!_listReplies.Contains(-1))
         {
             CurrentPingState = PingState.GoodSignal;
             if(_settings.SoundPing==SoundPing.SignalIsGood)
                 System.Media.SystemSounds.Beep.Play();
         }
         else
         {
             int i = 0;
             foreach (int item in _listReplies)
             {
                 if (item == -1) i++;
             }
             if (i == _listReplies.Count)
             {
                 CurrentPingState = PingState.NoSignal;
                 if (_settings.SoundPing == SoundPing.NoSignal)
                     System.Media.SystemSounds.Beep.Play();
             }
             else
                 CurrentPingState = PingState.BadSignal;
         }
     }));
 }
示例#4
0
 public void OnPingReceived(object sender, PingReplyReceivedEventArgs eventArgs)
 {
     ParentForm.UpdateSessionPanel(this, eventArgs.PingSession);
 }