( kroozo | 2024. 11. 26., k – 12:23 )

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 :)