static void ConnectCallback(IAsyncResult ar) { TcpClient self = (TcpClient)ar.AsyncState; if (self.sock.Connected) self.sock.EndConnect(ar); self.Connected.Invoke(self, self.sock); }