public void StartAccepting() { Socket listenSocket = null; var builder = new StringBuilder(); var bytesReceived = 0; var lengthBuffer = new byte[1]; while (true) { listenSocket = ObjSocket.Accept(); Console.Write("New Connection: "); bytesReceived = listenSocket.Receive(lengthBuffer); var buffer = new byte[lengthBuffer[0]]; bytesReceived = listenSocket.Receive(buffer); builder.Clear(); builder.Append(Encoding.ASCII.GetString(buffer), 0, bytesReceived); Console.WriteLine(builder); ClientList.Add(listenSocket, Encoding.ASCII.GetString(buffer)); ThreadList.Add(listenSocket, new Thread(delegate() { Server.MessageHandler(this, listenSocket); })); ThreadList[listenSocket].Start(); } }