Problem z gubieniem pakietów w Snifferze

0

Napisałem sniffera wszystko ładnie działa, tylko czasem zgubi 1pakiet i przez to sypie się wszystko, bo kolejkuje pakiety według Numeru sekwencyjnego i kiedy zgubie choć jeden pakiet aplikacja czeka dalej na odpowiedni numer.

Socket przecież z tego co wiem kiedy dostaje pakiet zapisuje go <ort>Od razu</ort> w pamięci wiec nie powinno być żadnych problemów nawet jeśli program by opóźniał działanie skryptu.

Może macie jakieś pomyły jak by to rozwiązać.

0

Zdajesz sobie sprawę, że nie masz gwarancji dojścia pakietów w kolejności zgodnej z kolejnością wysłania?

0

Przecież napisałem ze segreguje je według "Numeru sekwencji" tak jak to sortuje system, po prostu raz na jakiś czas kiedy na raz przychodzi dużo pakietów nie dostaje jednego pakietu i się wszystko sypie

sortowanie to jest bardzo proste: numer sekwencji następnego pakietu = numer sekwencji ostatniego + jego wielkość

0
varens napisał(a)

(...) raz na jakiś czas kiedy na raz przychodzi dużo pakietów nie dostaje jednego pakietu (...)

Może ReceiveBuffer się przepełnia?

0

heh jednak miałeś racje zwiększyłem buffer na maxa i wszystko jest OK, jednak gdy jest dużo pakietów odczytanie ich zajmuje wiele czasu, jest taka możliwość aby już po odpaleniu nasłuchu zmienić port z jakiego maja być odbierane pakiety?

A tak w ogóle kiedy w bind podam wybrany prze zemnie port to i tak skanuje wszystkie pakiety z podanego ip, nie rozumiem dlaczego

1 użytkowników online, w tym zalogowanych: 0, gości: 1