private void AsyncConnect(IAsyncResult res) { //Console.WriteLine("k i m o z"); AsyncSocketWrapper sender = null; try { String IPAdress = ""; sender = new AsyncSocketWrapper(); sender.Create(this.Connection.EndAccept(res)); IPAdress = sender.Socket.RemoteEndPoint.ToString().Split(':')[0].ToString(); if (!BruteforceProtection.IsBanned(IPAdress)) { BruteforceProtection.AddWatch(IPAdress); if (sender.Socket == null) { this.Connection.BeginAccept(new AsyncCallback(this.AsyncConnect), null); return; } if (this.OnClientConnect != null) { this.OnClientConnect(sender); } sender.Socket.BeginReceive(sender.Buffer, 0, sender.Buffer.Length, SocketFlags.None, new AsyncCallback(this.AsyncReceive), sender); this.Connection.BeginAccept(new AsyncCallback(this.AsyncConnect), null); } } catch (SocketException e) { Program.SaveException(e); Console.WriteLine(e); if (this.enabled) { this.Connection.BeginAccept(new AsyncCallback(this.AsyncConnect), null); } } catch (ObjectDisposedException e) { Program.SaveException(e); Console.WriteLine(e); } }