Example #1
0
        private bool SendFile(byte[] data)
        {
            if (data == null)
            {
                data = new byte[BlindNetConst.DATASIZE];
            }
            try
            {
                socket.CryptoSendMiniPacket(null, PacketType.MSG);

                for (int i = 0; i < data.Length; i += BlindNetConst.DATASIZE)
                {
                    int    len = (i + BlindNetConst.DATASIZE < data.Length) ? BlindNetConst.DATASIZE : data.Length - i;
                    byte[] tmp = new byte[len];
                    Array.Copy(data, i, tmp, 0, len);
                    int sendBytes = socket.CryptoSendPacket(tmp, (i + len == data.Length) ? PacketType.EOF : PacketType.Sending);
                    Debug.WriteLine("[FileUpload] Send bytes {0}/{1}", i + len, data.Length);
                    form.progressBar.PerformStep();
                    if (form.progressBar.Value < form.progressBar.Maximum)
                    {
                        form.progressBar.Value += 1;
                    }
                    form.progressBar.Value -= 1;
                    form.label_percent.Text = (form.progressBar.Value * 100 / form.progressBar.Maximum) + "%";
#if DEBUG
                    form.label_percent.Text = form.progressBar.Value.ToString();
#endif
                    form.label_percent.Update();
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }