Witam,
Napisałem sobie w Remotingu aplikację chat, jednak w zadaniu które dostałem mam sprawdzić szybkość przesyłania za pomocą TCP i Http.
Czy wie ktoś może jak to zrobić?
wyslij jakis plik (powiedzmy 100 mb) i zobacz jak dlugo zajmie odbior. Wtedy mozesz policzyc szybkosc transferu
Próbowałem zrobić tak, naciskam przycisk wybrany plik dodaje mi się do byte[] a następnie ponieważ używam Remotingu wysyłany jest do jednej z metod która daje true albo false, na ekranie widać że proces wysyłania trwa jakieś 5 sekund ale nie mogę tego zmierzyć, prubóje timerem wywołać metodę która będzie zwiększać licznik o jeden a po zakończeniu wyrzucam ten wynik do textBox5 jednak ciągle pokazuje mi 1. Oto kod:
private void button5_Click(object sender, EventArgs e)
{
count_time = 1;
if (isConnected)
{
if ((_choose_file != "") && (File.Exists(_choose_file)))
{
string file_data = File.ReadAllText(_choose_file);
int last_char = _choose_file.LastIndexOf(@"\");
string name_file_xmlzdod = _choose_file.Substring(last_char, _choose_file.Length - last_char);
string name_file_xml = name_file_xmlzdod.Remove(0, 1);
byte[] file_to_send_byte = Encoding.ASCII.GetBytes(file_data);
textBox4.Clear();
textBox4.Text = "Nazwa pliku: " + name_file_xml;
textBox4.Clear();
Timer count_send = new Timer();
count_send.Interval = 1;
count_send.Start();
count_send.Tick += count_send_Tick;
bool statusfile = chat.AddFile(file_to_send_byte); //tu wysyłam do metody na serwerze
if (statusfile)
textBox4.AppendText(" Plik wysłany");
_choose_file = "";
count_send.Stop();
textBox5.Text = count_time.ToString();
}
else
{
textBox3.Text = "Nie podpiąłeś żadnego pliku, najpierw otwórz plik";
}
}
else
{
textBox3.Text = "Nie połączyleś się z serwerem, najpierw wykonaj connect";
}
}
void count_send_Tick(object sender, EventArgs e)
{
count_time ++;
}
troche pobladziles, metoda ktora wybrales jest malo precyzyjna. wywal tego timera i uzyj klasy Stopwatch:
https://msdn.microsoft.com/pl-pl/library/system.diagnostics.stopwatch%28v=vs.110%29.aspx
http://www.dotnetperls.com/stopwatch
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
fasadin