testowanie szybkości TCP HTTP

0

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ć?

0

wyslij jakis plik (powiedzmy 100 mb) i zobacz jak dlugo zajmie odbior. Wtedy mozesz policzyc szybkosc transferu

0

co konkretnie chcesz zmierzyc i w jakim celu? jaka jest jednostka miary?

0

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 ++;
        }

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1