private void EndAccept(IAsyncResult ar) { if (!bListening) { return; } // Retrieve the state object and the handler socket // from the async state object. Console.WriteLine("Socket Accepted"); // Get the socket that handles the client request. Socket listener = (Socket)ar.AsyncState; Socket socket = listener.EndAccept(ar); Socket5 socket5 = new Socket5(socket); socket5.OnSocket5Processed += new Socket5Handler(OnSocket5Processed); socket5.Start(); AllDone.Set(); }