Example #1
0
        /// <summary>
        /// Disconnects a client
        /// </summary>
        /// <param name="args">Arguments associated with disconnection events</param>
        public virtual void Disconnect(DisconnectArgs args)
        {
            _clientStream.Close();
            _clientStream.Dispose();
            _client.Close();
            _client.Dispose();

            Disconnected?.Invoke(this, args);
        }
Example #2
0
        /// <summary>
        /// Runs when any client disconnects.
        /// Removes the client from _clients
        /// </summary>
        /// <param name="sender">Object that fired the event</param>
        /// <param name="e">Arguments associated with disconnect event</param>
        protected virtual void _clientDisconnected(object sender, DisconnectArgs e)
        {
            var netSender = sender as T;

            _clients.Remove(netSender);
        }
Example #3
0
 protected void _invokeDisconnected(DisconnectArgs e)
 {
     Disconnected.Invoke(this, e);
 }