Portál AbcLinuxu, 2. května 2025 16:49

Ping 2

22.9.2005 00:02 | Přečteno: 1004× | Linux | poslední úprava: 22.9.2005 14:39

Ne v neděli, jak jsem si plánoval, ale až dnes jsem se dostal k práci na pingu. Kód jsem rozšířil, upravil, vylepšil a opravil chyby, takže jsem se dostal do stavu, v němž jsem měl být už minulý týden :-). Formátovací řetězec nyní zvládá i backslashed znaky (děkuji Yetimu za nakopnutí).

Malé osvěžení z minule, formátovací řetězec se zadává parametrem -o a tady je tabulka podporovaných formátů:

  %h .......... hostname
  %t .......... transmitted
  %r .......... received
  %d .......... duplicated
  %c .......... corrupted
  %e .......... errors
  %l .......... packet loss
  %L .......... packet loss (včetně znaku %)
  %i .......... time (v ms)
--------------------------------------------
  %n .......... rtt - min
  %a .......... rtt - avg
  %m .......... rtt - max
  %v .......... rtt - dev
  %p .......... pipe
  %g .......... ipg
  %w .......... ewma

Podporované escape znaky jsou '\a' '\b' '\e' '\f' '\n' '\r' '\t' '\v'. Dále jsem úplně přepsal výstupní funkci, která teď pouze vytvoří formátovací řetězec a ten potom odešle k vytisknutí. Takže v kódu nejsou duplicity (vlastně ještě tam jedna je).

Dále bych se chtěl zaměřit na "méně ukecaný mód" pingu, jak si to přál Zdeněk Štěpánek.

Problém ping versus fping. Minule se tu rozhořel flame na toto téma. V první řadě chci dokončit vylepšení pingu, ale pokud budu mít čas a chuť, můžu dopsat stejnou funkčnost i do fpingu, kód bude víceméně stejný. Ping je prostě standard, takže, doufám, že toto pomůže mnoha lidem.

Tentokrát dávám na web i binárku a prosím o její otestování. Je kompilovaná jako Slackware balíčky, s CFLAGS="-O2 -march=i486 -mcpu=i686".

iputils-ss020927.tar.gz(119K) - zdrojové kódy iputils
iputils-o.patch.gz (2,6K) můj patch
ping (130,4K)

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

msk avatar 22.9.2005 17:07 msk | skóre: 27 | blog: msk
Rozbalit Rozbalit vše ako to pretlacit do originalneho pingu?
Odpovědět | Sbalit | Link | Blokovat | Admin
Skusal uz niekto kontaktovat autorov povodneho pingu, aby patchli original zdrojaky?
22.9.2005 18:48 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: ako to pretlacit do originalneho pingu?
Samozřejmě, že tohle taky udělám, ale nejdřív bych měl rád ten kód trochu otestovaný. Zatím to vypadá tak, že tam chyby nemám (LOL), anebo to nikdo netestuje (:-().
When your hammer is C++, everything begins to look like a thumb.
22.9.2005 22:00 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše test
Odpovědět | Sbalit | Link | Blokovat | Admin
Pokud je pinganý počítač zdechlý, píší mi rtt formáty
Floating point exception
a pokud smí, dumpne to core. Asi nějaká dělení nulou nebo tak něco. Co je horší, dělá to i bez -o, nepatchovaná verze to nedělá.

Jinak jsem patch musel upravit, aby šel aplikovat na iputils z FC4 spolu s ostatními patchi (nic velkého, jen nějaká přetypování na long). Je zde jako patch 99:

http://trific.ath.cx/Ftp/tmp/iputils-20020927-22.src.rpm
22.9.2005 22:02 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: test
Eh, ten předchozí balík mažu, protože má stejné release jako oficiální...

http://trific.ath.cx/Ftp/tmp/iputils-20020927-22y.src.rpm
22.9.2005 22:29 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: test
Dík, tohle by mě skutečně nenapadlo testovat! Přitom taková blbost. Jinak, úpravy dělám pochopitelně vůči "čistému" pingu.

Bez -o to funguje naprosto stejně, protože ten program si jen poskládá formátovací řetězec a ten potom vytiskne, takže se ta chyba projeví v obou případech, mrknu se na to.
When your hammer is C++, everything begins to look like a thumb.
22.9.2005 22:41 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: test
Kromě toho by to chtělo opatchovat výstup -h (přidat něco jako [-o format]) a manuálovou stránku namísto zveřejňování seznamu formátů tady. Je to otrava, ale na akceptování patche by to mělo mít positivní vliv...
22.9.2005 23:33 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: test
Jasně, jak opravím ten floating point, uhladím to do publikovatelné podoby!
When your hammer is C++, everything begins to look like a thumb.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.