private void TransferBtn_Click(object sender, EventArgs e) { progressBar.Value = 0; TransferOptions tOptions = new TransferOptions(); tOptions.LocalFilename = LocalFileNameTxt.Text; tOptions.RemoteFilename = RemoteFileNameTxt.Text; tOptions.Host = HostTxt.Text; tOptions.Action = getRadio.Checked == true ? TransferType.Get : TransferType.Put; Thread tThread = new Thread((ParameterizedThreadStart) delegate(object ScanOptions) { if (((TransferOptions)ScanOptions).Action == TransferType.Get) { _session.Get(ScanOptions); } else { _session.Put(ScanOptions); } }); tThread.IsBackground = true; tThread.Start(tOptions); }
/// <summary> /// Connect via tftp to DXC and Copy conf file /// </summary> /// <param name="file"></param> /// <param name="ip"></param> /// <param name="destFile"></param> private void CopyFileFromServer(string file, string ip, string destFile) { if (!IpPingOk(ip)) { MessageBox.Show(ip + " адрес не доступен"); DxcEvent(this.CustomName, this.Ip + " адрес не доступен"); return; } try { TransferOptions tOptions = new TransferOptions(); tOptions.LocalFilename = destFile; tOptions.RemoteFilename = file; tOptions.Host = ip; tOptions.Action = TransferType.Get; Session.Get(tOptions); } catch (Exception ex) { MessageBox.Show(ex.Message, "copy from server"); } // TftpClient client=new TftpClient(ip,69); // var transfer = client.Download(file); // transfer.OnError+= new Tftp.Net.TftpErrorHandler(transfer_OnError); // transfer.OnProgress+= new Tftp.Net.TftpProgressHandler(transfer_OnProgress); // transfer.OnFinished+= new Tftp.Net.TftpEventHandler(transfer_OnFinished); // //Start the transfer and write the data that we're downloading into a memory stream // Stream stream = new MemoryStream(); // // transfer.TransferMode=TftpTransferMode.mail; // transfer.Start(stream); // //Wait for the transfer to finish // TransferFinishedEvent.WaitOne(); // // SaveStreamToFile(stream, DestFile); // }