/// <summary> /// Listen while listener is running /// </summary> private static void Listen() { while (Running) { try { TcpClient client = Listener.AcceptTcpClient(); string clientAddress = ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString(); NetworkStream stream = client.GetStream(); while (client.Available == 0) { } byte[] buffer = new byte[client.Available]; stream.Read(buffer, 0, buffer.Length); stream.Close(); switch (Package.TryParse(buffer, out Package package)) { case 0: SProgram.WritePackageReceiveInfo(package, clientAddress); SDataController.ProcessingReceivedPackage(package, clientAddress); break; case 1: SProgram.WritePackageSendFailInfo(buffer, clientAddress); ReceivedIncorrectPackage(clientAddress); break; case 2: SProgram.WritePackageSendFailInfo(buffer, clientAddress); ReceivedIncorrectPackage(clientAddress); break; } } catch (SocketException) { } } }