示例#1
0
 private void onDisconnect(object obj, DisconnectEventArgs e)
 {
     currentConnection = null;
     if (!closingFl)
     {
         this.Invoke((MethodInvoker) delegate
         {
             Text               = "Нет соединения";
             lCaption.Text      = "Нет соединения";
             Icon               = (Icon)Resources.ResourceManager.GetObject(CommonInf.icons[0]);
             miConnections.Text = "Соединения";
             if (connectionsDropdown != null)
             {
                 miConnections.DropDownItems.AddRange(connectionsDropdown);
             }
             miSetNorth.Visible                 = false;
             miCalibrate.Visible                = false;
             miConnectionGroups.Visible         = true;
             miIngnoreEngineOffMovement.Visible = false;
             timer.Enabled = false;
             targetAngle   = -1;
             pMap.Invalidate();
             offLimit();
         });
     }
 }
示例#2
0
        private void TsFullClient_OnDisconnected(object sender, DisconnectEventArgs e)
        {
            if (e.Error != null)
            {
                var error = e.Error;
                switch (error.Id)
                {
                case Ts3ErrorCode.client_could_not_validate_identity:
                    if (ts3FullClientData.IdentityLevel == "auto")
                    {
                        int targetSecLevel = int.Parse(error.ExtraMessage);
                        UpdateIndentityToSecurityLevel(targetSecLevel);
                        ConnectClient();
                        return;                         // skip triggering event, we want to reconnect
                    }
                    else
                    {
                        Log.Warn("The server reported that the security level you set is not high enough." +
                                 "Increase the value to \"{0}\" or set it to \"auto\" to generate it on demand when connecting.", error.ExtraMessage);
                    }
                    break;

                default:
                    Log.Warn("Could not connect: {0}", error.ErrorFormat());
                    break;
                }
            }
            else
            {
                Log.Debug("Bot disconnected. Reason: {0}", e.ExitReason);
            }

            connecting = false;
            OnBotDisconnect?.Invoke(this, EventArgs.Empty);
        }
示例#3
0
        private void tcpAsyncServer_DisconnectServer(object sender, DisconnectEventArgs e)
        {
            IPEndPoint ip = (IPEndPoint)e.Client.ClientSocket.RemoteEndPoint;

            //if (ip.Address.Equals(mcuSocketIP.Address))
            if (mcuClientContext != null && e.Client == mcuClientContext)
            {
                mcuClientContext = null;
                this.Invoke((EventHandler)(delegate
                {
                    NetLog(DateTime.Now.ToLongTimeString() + "   :   ");
                    NetLog("传感器采集板断开");
                    NetLog("\r\n");
                }));
            }
            else
            {
                NetLog(DateTime.Now.ToLongTimeString() + "   :   ");
                if (mcuClientContext != null)
                {
                    IPEndPoint mcuSocketIP = (IPEndPoint)mcuClientContext.ClientSocket.RemoteEndPoint;
                    if (ip.Address.Equals(mcuSocketIP.Address))
                    {
                        this.Invoke((EventHandler)(delegate
                        {
                            NetLog("上一个单片机采集板IP断开");
                        }));
                    }
                }
                this.Invoke((EventHandler)(delegate
                {
                    NetLog("客户端断开连接" + e.Client.ClientSocket.RemoteEndPoint.ToString());
                }));
            }
        }
示例#4
0
 internal void Disconnected(object sender, DisconnectEventArgs e)
 {
     if (OnDisconnect != null)
     {
         OnDisconnect(sender, e);
     }
 }
示例#5
0
        protected override void OnPlayerDisconnected(BasePlayer player, DisconnectEventArgs e)
        {
            base.OnPlayerDisconnected(player, e);

            players.Remove(player);
            Console.WriteLine($"{player.Name} has exited the server.");
        }
        private void Spectate_PlayerDisconnected(object sender, DisconnectEventArgs e)
        {
            if (!(sender is Player player))
            {
                return;
            }

            foreach (var basePlayer in Player.All)
            {
                var serverPlayer = (Player)basePlayer;

                if (!serverPlayer.IsLoggedIn)
                {
                    continue;
                }

                if (serverPlayer.State != PlayerState.Spectating || serverPlayer.SpectatedPlayer != player)
                {
                    continue;
                }

                player.ToggleSpectating(false);
                player.SpectatedPlayer         = null;
                player.SpectatedVehicle        = null;
                player.SpectateTimer.IsRunning = false;
                player.SendClientMessage(Color.Red, "Target player has logged off, ending spectate mode.");
            }
        }
示例#7
0
        private async void OnPeerDisconnected(object sender, DisconnectEventArgs e)
        {
            var peer = (IP2PSession)sender;

            peer.PeerDisconnected -= OnPeerDisconnected;

            if (_activePeers.TryRemove(peer.RemoteNodeId, out var removedPeer))
            {
                removedPeer.NodeStats.AddNodeStatsDisconnectEvent(e.DisconnectType, e.DisconnectReason);
                if (removedPeer.SynchronizationPeer != null)
                {
                    _synchronizationManager.RemovePeer(removedPeer.SynchronizationPeer);
                }
                if (_logger.IsInfoEnabled)
                {
                    _logger.Info($"Removing Active Peer on disconnect {peer.RemoteNodeId.ToString(false)}");
                }

                if (_isInitialized)
                {
                    await RunPeerUpdate();
                }
            }

            if (_newPeers.TryRemove(peer.RemoteNodeId, out removedPeer))
            {
                removedPeer.NodeStats.AddNodeStatsDisconnectEvent(e.DisconnectType, e.DisconnectReason);
                if (_logger.IsInfoEnabled)
                {
                    _logger.Info($"Removing New Peer on disconnect {peer.RemoteNodeId.ToString(false)}");
                }
            }
        }
示例#8
0
        private void OnDisconnected(object sender, DisconnectEventArgs e)
        {
            ISession session = (ISession)sender;

            session.Disconnected -= OnDisconnected;
            _sessions.TryRemove(session.SessionId, out session);
        }
示例#9
0
 protected internal virtual void OnDisconnected(DisconnectEventArgs e)
 {
     if (Disconnected != null)
     {
         Disconnected(this, e);
     }
 }
        private static void OnDisconnected(object sender, DisconnectEventArgs e)
        {
            var client = (Ts3FullClient)sender;

            Console.WriteLine("Disconnected id={0} clid={1}", cnt, client.ClientId);
            clients.Remove(client);
        }
示例#11
0
    protected override void OnPlayerDisconnected(BasePlayer sender, DisconnectEventArgs e)
    {
        base.OnPlayerDisconnected(sender, e);
        var player = sender as Player;

        BasePlayer.SendDeathMessageToAll(null, player, Weapon.Disconnect);
        if (player.IsCapturedFlag())
        {
            player.Drop();
        }
        if (player.Team != BasePlayer.NoTeam)
        {
            Player.Remove(player);
            TextDrawGlobal.UpdateCountUsers();
        }
        TextDrawPlayer.Destroy(player);
        TextDrawGlobal.Hide(player);
        Player.RemoveLevels(player);
        if (player.AFK)
        {
            Player.UserAFKs.Remove(new UserAFK()
            {
                Player = player
            });
        }
        player.UpdateData("lastConnection", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
    }
示例#12
0
 private void OnWriterDisconnect(object sender, DisconnectEventArgs e)
 {
     //TODO: Typically we have already detected disconnect thanks to the pending
     // Receive. Hence ignore this
     //OnDisconnect(e.SocketError);
     //Console.WriteLine("Write error: " + e.SocketError);
 }
示例#13
0
        private void SessionDisconnected(object sender, DisconnectEventArgs e)
        {
            ISession session = (ISession)sender;

            session.Initialized  -= SessionInitialized;
            session.Disconnected -= SessionDisconnected;

            if (_syncPeers.TryRemove(session.SessionId, out var removed))
            {
                _syncPool.RemovePeer(removed);
                _txPool.RemovePeer(removed.Node.Id);
                if (session.BestStateReached == SessionState.Initialized)
                {
                    if (_logger.IsDebug)
                    {
                        _logger.Debug($"{session.Direction} {session.Node:s} disconnected {e.DisconnectType} {e.DisconnectReason} {e.Details}");
                    }
                }
            }

            if (_hangingSatelliteProtocols.TryGetValue(session.Node, out var registrations))
            {
                registrations.TryRemove(session.SessionId, out _);
            }

            _sessions.TryRemove(session.SessionId, out session);
        }
示例#14
0
        private void SessionDisconnected(object sender, DisconnectEventArgs e)
        {
            ISession session = (ISession)sender;

            session.Initialized  -= SessionInitialized;
            session.Disconnected -= SessionDisconnected;

            if (_syncPeers.ContainsKey(session.SessionId))
            {
                ISyncPeer syncPeer = _syncPeers[session.SessionId];
                _syncPool.RemovePeer(syncPeer);
                _txPool.RemovePeer(syncPeer.Node.Id);
                if (session.BestStateReached == SessionState.Initialized)
                {
                    if (_logger.IsDebug)
                    {
                        _logger.Debug($"{session.Direction} {session.Node:s} disconnected {e.DisconnectType} {e.DisconnectReason} {e.Details}");
                    }
                }

                _syncPeers.TryRemove(session.SessionId, out _);
            }

            _sessions.TryRemove(session.SessionId, out session);
        }
示例#15
0
        private void SessionOnPeerDisconnected(object sender, DisconnectEventArgs e)
        {
            ISession session = (Session)sender;

            session.Disconnected -= SessionOnPeerDisconnected;
            session.Dispose();
        }
示例#16
0
 protected void OnPlayerClientDisconnect(DisconnectEventArgs args)
 {
     if (PlayerDisconnect != null)
     {
         PlayerDisconnect(args);
     }
 }
示例#17
0
 private void esDisconnected(object sender, DisconnectEventArgs e)
 {
     if (!e.requested)
     {
         MessageBox.Show("Соединение с ExpertSync потеряно!");
     }
     miExpertSync.Checked = false;
 }
示例#18
0
        public override void OnDisconnected(DisconnectEventArgs e)
        {
            SendClientMessageToAll(Color.LightGray, Messages.PlayerLeftTheServer, Name, Id);

            // TODO Destroy rented vehicle

            base.OnDisconnected(e);
        }
示例#19
0
 private void TsFullClient_OnDisconnected(object sender, DisconnectEventArgs e)
 {
     if (autoReconnectOnce)
     {
         autoReconnectOnce = false;
         ConnectClient();
     }
 }
示例#20
0
 protected static void OnDisconnect(DisconnectEventArgs args)
 {
     MetaModEngine.SetResult(MetaResult.Handled);
     if (Disconnect != null)
     {
         Disconnect(args);
     }
 }
 public async void OnDisconnected(RpcConnection connection, DisconnectEventArgs args)
 {
     await RunAsync(() =>
     {
         Messages.Add($"Client disconnected: {args.Connection.Id} (Reason: {args.Reason})");
         RaisePropertyChanged(nameof(ClientCount));
     });
 }
示例#22
0
 private static void OnDisconnected(object sender, DisconnectEventArgs e)
 {
     // var client = (Ts3FullClient)sender;
     Console.WriteLine("Disconnected from {0} with clid {1}", client.ConnectionData.Address, client.ClientId);
     if (!exit)
     {
         client.Connect(con);
     }
 }
示例#23
0
        /// <summary>
        /// Raises Disconnected event.
        /// </summary>
        /// <param name="disconnectEventArgs"></param>
        protected virtual void OnDisconnected(DisconnectEventArgs disconnectEventArgs)
        {
            var handler = Disconnected;

            if (handler != null)
            {
                handler(this, disconnectEventArgs);
            }
        }
示例#24
0
        private void InnerRemoteDisconnected(object sender, DisconnectEventArgs args)
        {
            GetAWorkingConnection();

            if (Capacity == 1)
            {
                OnDisconnectEvent();
            }
        }
示例#25
0
 private void OnDisconnect(object sender, DisconnectEventArgs e)
 {
     if (e.Reason != DisconnectReason.SOCKET_CLOSED_BY_CLIENT &&
         e.Reason != DisconnectReason.SOCKET_CLOSED_BY_CLIENT_ERROR)
     {
         MessageBox.Show("Connection to the server has been lost!\nReason: " + e.Reason.ToString(), "Connection lost", MessageBoxButtons.OK, MessageBoxIcon.Error);
         Environment.Exit(-1);
     }
 }
示例#26
0
        internal bool OnPlayerDisconnect(int playerid, int reason)
        {
            var args = new DisconnectEventArgs((DisconnectReason)reason);

            OnPlayerDisconnected(BasePlayer.FindOrCreate(playerid), args);
            OnPlayerCleanup(BasePlayer.FindOrCreate(playerid), args);

            return(true);
        }
示例#27
0
        private void TsFullClient_OnDisconnected(object sender, DisconnectEventArgs e)
        {
            if (e.Error != null)
            {
                var error = e.Error;
                switch (error.Id)
                {
                case Ts3ErrorCode.client_could_not_validate_identity:
                    if (config.Connect.Identity.Level.Value == -1)
                    {
                        int targetSecLevel = int.Parse(error.ExtraMessage);
                        UpdateIndentityToSecurityLevel(targetSecLevel);
                        ConnectClient();
                        return;                         // skip triggering event, we want to reconnect
                    }
                    else
                    {
                        Log.Warn("The server reported that the security level you set is not high enough." +
                                 "Increase the value to '{0}' or set it to '-1' to generate it on demand when connecting.", error.ExtraMessage);
                    }
                    break;

                case Ts3ErrorCode.client_too_many_clones_connected:
                    if (reconnectCounter++ < MaxReconnects)
                    {
                        Log.Warn("Seems like another client with the same identity is already connected. Waiting {0:0} seconds to reconnect.",
                                 TooManyClonesReconnectDelay.TotalSeconds);
                        reconnectTick = TickPool.RegisterTickOnce(() => ConnectClient(), TooManyClonesReconnectDelay);
                        return;                         // skip triggering event, we want to reconnect
                    }
                    break;

                default:
                    Log.Warn("Could not connect: {0}", error.ErrorFormat());
                    break;
                }
            }
            else
            {
                Log.Debug("Bot disconnected. Reason: {0}", e.ExitReason);

                if (reconnectCounter < LostConnectionReconnectDelay.Length && !closed)
                {
                    var delay = LostConnectionReconnectDelay[reconnectCounter++];
                    Log.Info("Trying to reconnect. Delaying reconnect for {0:0} seconds", delay.TotalSeconds);
                    reconnectTick = TickPool.RegisterTickOnce(() => ConnectClient(), delay);
                    return;
                }
            }

            if (reconnectCounter >= LostConnectionReconnectDelay.Length)
            {
                Log.Warn("Could not (re)connect after {0} tries. Giving up.", reconnectCounter);
            }
            OnBotDisconnect?.Invoke(this, e);
        }
示例#28
0
        internal static void OnDisconnect(IntPtr entity)
        {
            MetaModEngine.SetResult(MetaResult.Handled);
            Player player            = Player.GetPlayer(entity);
            DisconnectEventArgs args = new DisconnectEventArgs(player);

            OnDisconnect(args);
            player.OnPlayerClientDisconnect(args);
            player.Release();
        }
示例#29
0
        private void server_ConnectionLost(object sender, DisconnectEventArgs e)
        {
            AddLine(ServerStrings.ConnectionLost.With(SocketErrorTranslator.GetMessage(e.SocketErrorCode)));

            if (e.Reason != DisconnectReason.UserInitiated)
            {
                AddLine(ServerStrings.AttemptingReconnect);
                ThreadHelper.InvokeAfter(TimeSpan.FromSeconds(4), delegate { server.Connect(); });
            }
        }
示例#30
0
        private static void Client_OnDisconnected(object sender, DisconnectEventArgs e)
        {
            var client = (Ts3FullClient)sender;

            if (e.Error != null)
            {
                Console.WriteLine(e.Error.ErrorFormat());
            }
            Console.WriteLine("Disconnected id {0}", client.ClientId);
        }
 private void OnWriterDisconnect(object sender, DisconnectEventArgs e)
 {
     //TODO: Typically we have already detected disconnect thanks to the pending
     // Receive. Hence ignore this
     //OnDisconnect(e.SocketError);
     Console.WriteLine("Write error: " + e.SocketError);
 }
示例#32
0
 protected void OnDisconnected(DisconnectEventArgs e)
 {
     if (Disconnected != null)
         Disconnected(this, e);
 }
 void OnDisconnectHandler(DisconnectEventSource source, DisconnectEventArgs e)
 {
     Logger.Debug("[GenericTransportAgent] SmtpReceiveAgent - OnDisconnect fired...");
     _config.SmtpReceiveAgentConfig.OnDisconnect.ToList().ForEach(x => { try { x.Execute(); } catch (Exception ex) { Logger.Error(ex, @"Error executing ""OnDisconnect"""); } });
 }
示例#34
0
文件: Player.cs 项目: txdv/sharpmod
 internal static void OnDisconnect(IntPtr entity)
 {
     MetaModEngine.SetResult(MetaResult.Handled);
     Player player = Player.GetPlayer(entity);
     DisconnectEventArgs args = new DisconnectEventArgs(player);
     OnDisconnect(args);
     player.OnPlayerClientDisconnect(args);
     player.Release();
 }
示例#35
0
文件: Player.cs 项目: txdv/sharpmod
 protected static void OnDisconnect(DisconnectEventArgs args)
 {
     MetaModEngine.SetResult(MetaResult.Handled);
     if (Disconnect != null) {
         Disconnect(args);
     }
 }
示例#36
0
文件: Player.cs 项目: txdv/sharpmod
 protected void OnPlayerClientDisconnect(DisconnectEventArgs args)
 {
     if (PlayerDisconnect != null) {
         PlayerDisconnect(args);
     }
 }