Using Using Using Using Using Using: Program Directoryinfo

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

using using using using using using

System; System.Collections.Generic; System.Text; System.Net; System.Net.Sockets; System.IO;

namespace SocketServer { class Program { public long GetSizeDir(DirectoryInfo dir) { long totalSize = 0; foreach (FileInfo file in dir.GetFiles()) { totalSize += file.Length; } return totalSize; } public void DelmaxlenFile(DirectoryInfo dir) { long totalSize = 0; FileInfo filename=new FileInfo("str.txt"); foreach (FileInfo file in dir.GetFiles()) { if (file.Length >totalSize) { totalSize =file.Length ; filename=file; } } Console.WriteLine("File {0} is deletd",filename .Name ); filename.Delete(); } static void Main(string[] args) { try { Program ser = new Program(); IPEndPoint ipEnd =new IPEndPoint(IPAddress.Any, 5867); Socket sock =new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP); sock.Bind(ipEnd); sock.Listen(100); Socket clientSock = sock.Accept(); byte[] clientData = new byte[1024 * 5000]; String newDir = "TestDir"; long maxSize = 10000000; DirectoryInfo dir1 = new DirectoryInfo(newDir); long totalsize = ser.GetSizeDir (dir1); Console.WriteLine("directory Size: " + totalsize);

Directory.CreateDirectory(newDir); Console.WriteLine("--> '" + newDir + "' Directory created"); string receivedPath = @"C:\Documents and Settings\mcs1115\My Documents\Visual Studio 2005\Projects\SocketServer\SocketServer\bin\Debug\TestDir\"; int receivedBytesLen = clientSock.Receive(clientData); if (totalsize + receivedBytesLen > maxSize) { Console.WriteLine(" Maximum Directory size exceeded"); ser.DelmaxlenFile(dir1); } int fileNameLen = BitConverter.ToInt32(clientData, 0); string fileName = Encoding.ASCII.GetString(clientData, 4, fileNameLen); Console.WriteLine("Client:{0} connected & File {1} started received.", clientSock.RemoteEndPoint, fileName); BinaryWriter bWrite = new BinaryWriter(File.Open(receivedPath + fileName, FileMode.Append)); bWrite.Write(clientData, 4 + fileNameLen, receivedBytesLen 4 - fileNameLen); Console.WriteLine("File: {0} received & saved at path: {1}", fileName, receivedPath); bWrite.Close(); clientSock.Close(); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine("File Receiving fail." + ex.Message); Console.ReadLine(); } } } }

You might also like