private void p_KeepAliveTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
p_AbortConnection = true;
((Timer)sender).Dispose(); // should be equivalent but rather be safe p_KeepAliveTimer.Dispose();
ConnectionError("Timeout on Connection ID " + p_ThisConnectionID, "Time Out");
}