Szerintem pont azt állítja, hogy elfogadja összevissza a pingválaszokat, ami magyarázná is valamennyire az anomáliát
Nem, ennek biztosan az ellenkezőjét állítja:
when ping the packet with flag , so the ping only receve right flag, the prev flag is ignore
Ez vmi furcsa angolul azt jelenti kb, hogy nézi a flaget, és az előző flaget (tartalmazó választ) onnan ignorálni fogja.
example: interval=1, timeout=2, ping response=1500ms, retry times=3, this config is not ok(interval < timeout)
ping1 with flag=1, response with in 1500ms(but ping2 with flag=2 is start), "retry times" add 1 ----> "online" ("retry times"=1 < 3)
ping2 with flag=2, response with in 1500ms(but ping3 with flag=3 is start), "retry times" add 1 ----> "online" ("retry times"=2 < 3)
ping3 with flag=3, response with in 1500ms(but ping4 with flag=4 is start), if "retry times" >= 3 ----> "offline"
ping4 with flag=4, response with in 1500ms(but ping5 with flag=5 is start), wait device restart
Ez a példa is ezzel konzisztens: Megérkeznek a válaszok 1500 után, de ignorálja őket, mert addigra már a következőt várja. (bár ha tippelnem kellene, akkor a kódban nem ez történik pontosan, szerintem akkor növeli, mikor elindítja az új pinget. Ha nem... hát az végig kéne gondolni, mert abból eshetnek ki faszságok)
"i think strict "ping->timeout" check is not a good idea in an Internet" Ez pl mit jelenthet? Hogy nem lehet szigorú egy timeout ellenőrzés?
Passz. A legjobb tippem kb az volna, hogy egy darab szar pingre ne ugorj, vagy ilyesmi :)