Example #1
0
        //Nơi chứa các hàm xử lý của phần truyền file
        #region Hàm
        private void sendFile()
        {
            try
            {
                if (pgSendFileServer.InvokeRequired)
                {
                    var d = new progressBagTruyen(sendFile);
                    Invoke(d);
                }
                else
                {
                    socketForClient = tcpListener.AcceptSocket();
                    NetworkStream ns = new NetworkStream(socketForClient);
                    sr = new StreamReader(ns);
                    sw = new StreamWriter(ns);
                    sw.WriteLine("Client gửi file " + fileName + " tới !");
                    sw.WriteLine(fileName);
                    sw.Flush();
                    nwkStream = new NetworkStream(socketForClient);
                    stmReader = File.OpenRead(txtFileTruyenServer.Text);
                    stmWrite  = nwkStream;
                    FileInfo flInfo = new FileInfo(txtFileTruyenServer.Text);
                    int      max    = Convert.ToInt32((flInfo.Length / 1024) / 81920);
                    pgSendFileServer.Maximum = max;
                    pgSendFileServer.Step    = 1;
                    int    dem  = 0;
                    int    size = 1024 * 1024 * 2;
                    byte[] buff = new byte[size];
                    int    len  = 0;

                    while ((len = stmReader.Read(buff, 0, buff.Length)) > 0)
                    {
                        stmWrite.Write(buff, 0, len);
                        stmWrite.Flush();
                        dem++;
                        if (dem > 40)
                        {
                            pgSendFileServer.PerformStep();
                            dem = 0;
                        }
                    }
                    pgSendFileServer.Value = 0;
                    MessageBox.Show("Gửi file thành công ", "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception e1)
            {
                MessageBox.Show("Lỗi ! : " + e1.Message, "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                socketForClient.Close();
            }
        }
Example #2
0
 //Nơi chứa các hàm xử lý liên quan đến phần nhận file
 #region Hàm
 private void SaveFile()
 {
     try
     {
         if (pgTruyenClient.InvokeRequired)
         {
             var d = new progressBagTruyen(SaveFile);
             Invoke(d);
         }
         else
         {
             StreamReader sr = new StreamReader(tcpClient.GetStream());
             StreamWriter sw = new StreamWriter(tcpClient.GetStream());
             txtThongBaoClient.Text = sr.ReadLine();
             string duongDan = txtSaveFileClient.Text + @"\" + sr.ReadLine();
             nwkStreamServer = tcpClient.GetStream();
             stmReadClient   = nwkStreamServer;
             stmWriteClient  = File.OpenWrite(duongDan);
             int    size = 1024 * 1024;
             byte[] buff = new byte[size];
             int    len;
             while ((len = stmReadClient.Read(buff, 0, size)) > 0)
             {
                 stmWriteClient.Write(buff, 0, len);
                 stmWriteClient.Flush();
             }
             MessageBox.Show("Nhận file thành công ", "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
             txtThongBaoClient.Text = "";
         }
     }catch (Exception e1)
     {
         MessageBox.Show("Lỗi ! : " + e1.Message, "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     finally
     {
         tcpClient.Close();
         Connect();
     }
 }
Example #3
0
 //Nơi chứa các hàm xử lý liên quan đến phần nhận file
 #region Hàm
 public void SaveFile()
 {
     try
     {
         if (pgSendFileServer.InvokeRequired)
         {
             var d = new progressBagTruyen(SaveFile);
             Invoke(d);
         }
         else
         {
             nwkStream = new NetworkStream(socketForClient);
             string duongDan = "D:\\DA_Mang_Server" + @"\" + sr.ReadLine();
             nwkStream = tcpListener.AcceptTcpClient().GetStream();
             stmReader = nwkStream;
             stmWrite  = File.OpenWrite(duongDan);
             int    size = 1024 * 1024;
             byte[] buff = new byte[size];
             int    len;
             while ((len = stmReader.Read(buff, 0, size)) > 0)
             {
                 stmWrite.Write(buff, 0, len);
                 stmWrite.Flush();
             }
             txtThongBaoServer.Text = "";
             MessageBox.Show("Nhận file thành công ", "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show("Lỗi ! : " + e.Message, "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     finally
     {
         socketForClient.Close();
     }
 }
Example #4
0
        //Nơi chứa các hàm xử lý của phần truyền file
        #region Hàm
        private void sendFile()
        {
            try
            {
                if (pgTruyenClient.InvokeRequired)
                {
                    var d = new progressBagTruyen(sendFile);
                    Invoke(d);
                }
                else
                {
                    StreamReader sr = new StreamReader(tcpClient.GetStream());
                    StreamWriter sw = new StreamWriter(tcpClient.GetStream());
                    sw.WriteLine("Client gửi file " + fileName + " tới !");
                    sw.WriteLine(fileName);
                    sw.Flush();
                    nwkStreamServer = new NetworkStream(socketForServer);
                    stmReadClient   = File.OpenRead(txtFileTruyenClient.Text);
                    stmWriteClient  = nwkStreamServer;
                    FileInfo flInfo = new FileInfo(txtFileTruyenClient.Text);

                    int max = Convert.ToInt32((flInfo.Length / 1024) / 81920);
                    pgTruyenClient.Maximum = max;
                    pgTruyenClient.Step    = 1;
                    int    dem  = 0;
                    int    size = 1024 * 1024 * 2;
                    byte[] buff = new byte[size];
                    int    len  = 0;

                    while ((len = stmReadClient.Read(buff, 0, buff.Length)) > 0)
                    {
                        stmWriteClient.Write(buff, 0, len);
                        stmWriteClient.Flush();
                        dem++;
                        if (dem > 40)
                        {
                            pgTruyenClient.PerformStep();
                            dem = 0;
                        }
                    }
                    pgTruyenClient.Value = 0;
                    MessageBox.Show("Gửi file thành công !", "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception e1)
            {
                pgTruyenClient.Value = 0;
                MessageBox.Show("Lỗi : " + e1.Message, "Chương trình cắt và truyền file", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                //nwkStreamServer.Close();
                //stmReadClient.Close();
                //stmWriteClient.Close();
                tcpClient.Close();
                socketForServer.Close();
                //socketForServer.Close();
                //lbKetNoi.Text = "Đã đóng kết nối !";
                Connect();
            }
        }