Jak uzyskać prędkość bieżącego pasma używając IdTCPServer lub IdTCPClient?Jak uzyskać prędkość bieżącej przepustowości (pobierania)?
Chcę wiedzieć, jak szybko klient pobiera dane z serwera?
np .: prędkość pobierania: 450 kbps
Jak uzyskać prędkość bieżącego pasma używając IdTCPServer lub IdTCPClient?Jak uzyskać prędkość bieżącej przepustowości (pobierania)?
Chcę wiedzieć, jak szybko klient pobiera dane z serwera?
np .: prędkość pobierania: 450 kbps
Przypisywanie Wozy do OnWorkBegin
, OnWork
i OnWorkEnd
zdarzenia połączenia za TIdTCPConnection
obiektu. Zdarzenie OnWorkBegin
ma parametr AWorkCountMax
, który podaje łączną oczekiwaną liczbę bajtów (jeśli jest znana z wyprzedzeniem). Zdarzenie OnWork
ma parametr AWorkCount
, który daje bieżącą sumę liczby bajtów, które zostały faktycznie przesłane od zdarzenia OnWorkBegin
.
Gdy zdarzenie OnWork
jest zwolniony, odejmowanie poprzednią AWorkCount
wartości od bieżącej wartości AWorkCount
aby ustalić, jak wiele bajtów zostały przeniesione między tymi dwoma wydarzeniami, a następnie podzielić tę wartość przez ilość czasu, jaki upłynął między dwoma wydarzenia. Przy tej wartości końcowej można obliczyć b/s, kb/s, mb/s itd. W razie potrzeby.
zależności od tego, jak dokładnie wysyłania/odbierania danych, być może trzeba będzie ręcznie wywołać metody BeginWork()
i EndWork()
z TIdTCPConnection
dostać wydarzenia OnWork...
zacząć wypalanie. Większość metod odczytu/zapisu Indy'ego nie wywołuje wewnętrznie nazwy Begin/EndWork()
.
Proszę nie umieszczać informacji znacznika w tytule pytania. W pierwszej kolejności pokonuje cel posiadania tagów i sprawia, że temat pytań jest dłuższy i trudniejszy do odczytania. Ponadto, gdy używasz czegoś takiego jak Indy, gdzie występują duże różnice między wersjami, pomocne jest uwzględnienie wersji używanych składników. Dzięki. –