/// <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); }
/// <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); }
protected void _invokeDisconnected(DisconnectArgs e) { Disconnected.Invoke(this, e); }