namespace ‰ { using ; using †; using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; internal static class ˆ { private static Socket ; private static int ; private static int ; private static int ; private static HashSet ; private static void œ(IAsyncResult iAr) { try { int item = 0; for (int i = 1; i < ; i++) { if (!.Contains(i)) { item = i; break; } } if (item > 0) { Socket connectionSocket = ((Socket) iAr.AsyncState).EndAccept(iAr); Ž.WriteLine(string.Concat(new object[] { "Accepted connection [", item, "] from ", connectionSocket.RemoteEndPoint.ToString().Split(new char[] { ':' })[0] })); .Add(item); ++;   = new (item, connectionSocket); } } catch { } .BeginAccept(new AsyncCallback(ˆ.œ), ); } internal static void (int connectionID) { if (.Contains(connectionID)) { .Remove(connectionID); Ž.WriteLine("Flagged connection [" + connectionID + "] as free."); } } internal static bool ž(int bindPort, int maxConnections) {  = bindPort;  = maxConnections;  = new HashSet();  = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Ž.WriteLine("Starting up asynchronous socket server for game connections for port " + bindPort + "..."); try { .Bind(new IPEndPoint(IPAddress.Any, bindPort)); .Listen(0x19); .BeginAccept(new AsyncCallback(ˆ.œ), ); Ž.WriteLine("Asynchronous socket server for game connections running on port " + bindPort); Ž.WriteLine("Max simultaneous connections is " + maxConnections); return true; } catch { Ž.("Error while setting up asynchronous socket server for game connections on port " + bindPort); Ž.("Port " + bindPort + " could be invalid or in use already."); return false; } } internal static int acceptedConnections { get { return ; } } internal static int maxConnections { get { return ; } set {  = value; } } } }