public DataContainer Work()
        {
            DataContainer result = new DataContainer();

            Socket socket = Data.GetObject <Socket>("Socket");

            byte[] recieveBuffer = new byte[2048];

            foreach (string path in Data.GetObject <string[]>("Args"))
            {
                int allRecieved   = 0;
                int recievedBytes = 0;

                using (var stream = new StreamWriter(path))
                {
                    do
                    {
                        recievedBytes = socket.Receive(recieveBuffer);

                        stream.BaseStream.Write(recieveBuffer, 0, recievedBytes);

                        allRecieved += recievedBytes;
                    }while (socket.Available > 0);
                }

                result.SetObject(path, allRecieved);
            }

            return(result);
        }
示例#2
0
 public LogCommand(ILogger logger)
 {
     Data = new DataContainer();
     Data.SetObject("Logger", logger);
 }
 public RecieveFileCommand(Socket socket)
 {
     Data = new DataContainer();
     Data.SetObject("Socket", socket);
 }