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); }
public void update(string update_file_name) //, Action<string, int> updatProgress) { TFTPSession tftp_client = new TFTPSession(); tftp_client.Connected += new TFTPSession.ConnectedHandler(_session_Connected); tftp_client.Transferring += new TFTPSession.TransferringHandler(_session_Transferring); tftp_client.TransferFailed += new TFTPSession.TransferFailedHandler(_session_TransferFailed); tftp_client.TransferFinished += new TFTPSession.TransferFinishedHandler(_session_TransferFinished); tftp_client.Disconnected += new TFTPSession.DisconnectedHandler(_session_Disconnected); tftp_client.Mode = TFTPSession.Modes.OCTET; tftp_client.BlockSize = 512; TransferOptions tOptions = new TransferOptions(); tOptions.LocalFilename = update_file_name; tOptions.RemoteFilename = "update.bin"; tOptions.Host = this.device_ip.ToString(); tOptions.Action = TransferType.Put; tftp_client.Put(tOptions); // TransferFinishedEvent.WaitOne(); }