private void Server_ClientDisconnected(object sender, TcpClient e) { string ClientAddressIP = ((IPEndPoint)e.Client.RemoteEndPoint).Address.ToString(); ConnectionEvent cEv = Connections.Where(x => x.IPAddress.Equals(ClientAddressIP)).FirstOrDefault(); if (cEv != null) { Connections.Remove(cEv); } SetConnectionsToAPI(); LogWritter.Write(string.Format("{0} Connections sended to API", Connections.Count())); }
public void WatchClientIP(string IPAddress) { if (WatcherTimer == null) { WatcherTimer = new System.Timers.Timer { Interval = 10000, Enabled = true }; } ConnectionEvent cEv = GetConnectionEventByIP(IPAddress); System.Timers.ElapsedEventHandler eventForHandle = new System.Timers.ElapsedEventHandler((s, e) => WatchClientIP_Watcher(IPAddress)); if (eventForHandle != null && cEv != null) { cEv.Event = eventForHandle; WatcherTimer.Elapsed += eventForHandle; } }