private void SendFileButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
try
{
var fileDialog = new OpenFileDialog();
Nullable<bool> result = fileDialog.ShowDialog(this);
if (result == true)
{
DisableClientServerButtons();
string filename = fileDialog.FileName;
Udt.StdFileStream fs = new Udt.StdFileStream(filename, FileMode.Open);
byte[] buffer = new byte[16834];
_socket.Connect();
Status.Text = "Sending size " + fs.Length;
_socket.Send(BitConverter.GetBytes(fs.Length), sizeof(long));
int read = fs.Read(buffer, 0, 16834);
Status.Text = "Sending filename " + filename;
while (read > 0)
{
_socket.Send(buffer, read);
read = fs.Read(buffer, 0, 16834);
}
fs.Close();
_socket.Close();
Status.Text = "Sent " + filename;
SendFileButton.IsEnabled = false;
}
}
catch (Exception ex)
{
Dispatcher.Invoke(new Action(() => ErrorBlock.Text = ex.Message + "\n" + ex.StackTrace));
}
}