Exemple #1
0
        void server__ConnectionStateChanged(object sender, Network.ConnectionEventArgs e)
        {
            try
            {
                if (ConnectionStatusChanged != null)
                {
                    ConnectionStatusChanged(this, e);
                }
            }
            catch { }

            if (e.Connected)
            {
                Connection.SendString("VERSION");

                //Ask server for channels
                Connection.SendString("INFO");

                //For compability with legacy users
                try
                {
                    if (Connected != null)
                    {
                        Connection.SendString("TLS");
                        Connected(this, new Svt.Network.NetworkEventArgs(e.Hostname, e.Port));
                    }
                }
                catch { }
            }
            else
            {
                lock (this)
                {
                    try
                    {
                        if (!bIsDisconnecting && Settings.AutoConnect)
                        {
                            Connection.ConnectionStateChanged -= server__ConnectionStateChanged;
                            ReconnectionHelper              = new Svt.Network.ReconnectionHelper(Connection, Settings.ReconnectInterval);
                            ReconnectionHelper.Reconnected += ReconnectionHelper_Reconnected;
                            ReconnectionHelper.Start();
                        }
                    }
                    catch { }
                    bIsDisconnecting = false;
                }

                //For compability with legacy users
                try
                {
                    if (Disconnected != null)
                    {
                        Disconnected(this, new Svt.Network.NetworkEventArgs(e.Hostname, e.Port));
                    }
                }
                catch { }
            }
        }
Exemple #2
0
 void ReconnectionHelper_Reconnected(object sender, Network.ConnectionEventArgs e)
 {
     lock (this)
     {
         ReconnectionHelper.Close();
         ReconnectionHelper = null;
         Connection.ConnectionStateChanged += server__ConnectionStateChanged;
     }
     server__ConnectionStateChanged(Connection, e);
 }
Exemple #3
0
        void server__ConnectionStateChanged(object sender, Network.ConnectionEventArgs e)
        {
            try
            {
                if (ConnectionStatusChanged != null)
                    ConnectionStatusChanged(this, e);
            }
            catch { }

            if (e.Connected)
            {
                Connection.SendString("VERSION");

                //Ask server for channels
                Connection.SendString("INFO");

                //For compability with legacy users
                try
                {
                    if (Connected != null)
                    {
                        Connection.SendString("TLS");
                        Connected(this, new Svt.Network.NetworkEventArgs(e.Hostname, e.Port));
                    }
                }
                catch { }
            }
            else
            {
                lock (this)
                {
                    try
                    {
                        if (!bIsDisconnecting && Settings.AutoConnect)
                        {
                            Connection.ConnectionStateChanged -= server__ConnectionStateChanged;
                            ReconnectionHelper = new Svt.Network.ReconnectionHelper(Connection, Settings.ReconnectInterval);
                            ReconnectionHelper.Reconnected += ReconnectionHelper_Reconnected;
                            ReconnectionHelper.Start();
                        }
                    }
                    catch { }
                    bIsDisconnecting = false;
                }

                //For compability with legacy users
                try
                {
                    if (Disconnected != null)
                        Disconnected(this, new Svt.Network.NetworkEventArgs(e.Hostname, e.Port));
                }
                catch { }
            }
        }
Exemple #4
0
        public void Disconnect()
        {
            lock (this)
            {
                bIsDisconnecting = true;
                if (ReconnectionHelper != null)
                {
                    ReconnectionHelper.Close();
                    ReconnectionHelper = null;
                    Connection.ConnectionStateChanged += server__ConnectionStateChanged;
                }
            }

            Connection.CloseConnection();
        }