Exemple #1
0
        public NetFile(byte[] data)
        {
            NetFile file = FromArray(data);

            FileName = file.FileName;
            Data     = file.Data;
        }
Exemple #2
0
        public void DownloadFile(string path, string saveTo)
        {
            int packageSize = 0;
            int bytes       = 0;

            socket.Send(GetSendPathPackage(path));

            NetFile file;

            using (MemoryStream memStream = new MemoryStream())
            {
                byte[] buffer = new byte[_BUFFERSIZE];
                do
                {
                    int received = socket.Receive(buffer);
                    memStream.Write(buffer, 0, received);
                    bytes += received;
                    if (bytes >= 2048 && packageSize == 0)
                    {
                        packageSize = GetPackageSize(memStream.ToArray());
                    }
                    if (bytes != 0)
                    {
                        bw.ReportProgress((bytes * 100) / packageSize);
                    }
                }while (bytes < packageSize);
                packageSize = 0;
                file        = new NetFile(GetReciveFilePackage(memStream.ToArray()));
            }

            using (FileStream stream = new FileStream(saveTo + "\\" + file.FileName, FileMode.Create, FileAccess.Write))
            {
                stream.Write(file.Data, 0, file.Data.Length);
            }

            Thread.Sleep(progressBarTimeout);
        }