public void Process() { MemoryStream mem = new MemoryStream();// Empfangspuffer byte[] buffer = new byte[BufferSize]; int TimeOut = 0; instanceOfClass.NewMessage("Server gestartet"); while (TimeOut < (10 * 1000 / SleepTime)) { mem.Seek(0, SeekOrigin.Begin); mem.SetLength(0); while (socket.Available > 0) { //Byte[] buffer = new byte[bytesAvailable]; int bytesRead = socket.Receive(buffer, buffer.Length, SocketFlags.None); if (bytesRead <= 0) { continue; } mem.Write(buffer, 0, bytesRead); //instanceOfClass.Receive(buffer); // Alles zurücksetzen } if (mem.Length > 0) { if (mem.Length == 4) { if (System.Text.Encoding.ASCII.GetString(mem.ToArray(), 0, 4) == "quit") { instanceOfClass.CloseConnection(); break; } } //Console.WriteLine("send {0} bytes",mem.Length); instanceOfClass.Receive(mem.ToArray()); mem.Seek(0, SeekOrigin.Begin); mem.SetLength(0); TimeOut = 0; } else { TimeOut++; Thread.Sleep(SleepTime); } } instanceOfClass.CloseConnection(); socket.Close(); socket = null; serverThread.Abort(); }