testowanie szybkości TCP HTTP

testowanie szybkości TCP HTTP
K4
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:113
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ć?

fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

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

K4
ok tylko pytanie jak przeliczyć tą szybkość, robić to po stronie servera czy wysyłać czas klienta? Jak to zrobić? jakiś kod?
fasadin
startujesz timer gdy zaczniesz odbierac plik (po stronie clienta) albo wysylac plik (po stronie serwera). Zadaj konkretne pytanie. I nie odpisuj w komentarzach a w postach
katelx
  • Rejestracja:około 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Hong Kong
0

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

K4
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:113
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:

Kopiuj
 

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

katelx
  • Rejestracja:około 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Hong Kong
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

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.