Advertisement
Guest User

Modified loadfiles

a guest
May 25th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.30 KB | None | 0 0
  1. private List<string> loadFiles(Socket sListener, Socket handler)
  2.         {
  3.             UserRequest ur = new UserRequest();
  4.  
  5.             List<string> files = new List<string>();          
  6.  
  7.             while (true)
  8.             {
  9.                 // get command
  10.                 //handler = sListener.Accept();
  11.                 byte[] data = new byte[COMMAND_PART_SIZE];
  12.                 handler.Receive(data);
  13.                 ur = parseRequest(data);                
  14.  
  15.                 // check command
  16.                 if (ur.CommandName == "build-start")
  17.                 {
  18.                     Console.WriteLine("Start building...");
  19.                     break;
  20.                 }
  21.                    
  22.                 if (ur.CommandName != "file")
  23.                     continue;
  24.  
  25.                 // load command param
  26.                 LoadFileInfo fileInfo = GetLoadFileInfo(ur.Param);
  27.                 if (fileInfo == null)
  28.                     continue;
  29.  
  30.                 // answer user
  31.                 Console.WriteLine("Create buffer " + fileInfo.size.ToString() + " bytes");
  32.                 //handler.Send(Encoding.UTF8.GetBytes("Create buffer " + fileInfo.size.ToString() + " bytes"));
  33.  
  34.                 // load file
  35.                 //handler = sListener.Accept();
  36.                 byte[] file = new byte[fileInfo.size];
  37.                 handler.Receive(file);
  38.  
  39.                 // save file
  40.                 //File.WriteAllBytes("tmp/" + fileInfo.name, file);
  41.                 BinaryWriter writer;
  42.                 string fileSavePath = "tmp/" + fileInfo.name;
  43.                 if (!File.Exists(fileSavePath))
  44.                 {
  45.                     writer = new BinaryWriter(File.Open(fileSavePath, FileMode.Create));
  46.                 }
  47.                 else
  48.                 {
  49.                     writer = new BinaryWriter(File.Open(fileSavePath, FileMode.Append));
  50.                 }
  51.                 writer.Write(file, 0, fileInfo.size);
  52.                 files.Add(fileInfo.name);                
  53.  
  54.                 // answer user
  55.                 Console.WriteLine("Received file " + fileInfo.name + " " + fileInfo.size.ToString() + " bytes");
  56.                 handler.Send(Encoding.UTF8.GetBytes("Received file "+ fileInfo.name+" "+ fileInfo.size.ToString()+" bytes"));
  57.             }
  58.  
  59.             return files;
  60.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement