P.B. SW Mosaic 2. 10. 2024 18:20 3. 10. 2024 11:30

Dobry den,

resil jsem problem, kde pri implementaci jednoho TCP protokolu v simulatoru mi mizela obcas data. Zkusil jsem to nasimulovat na cistem projektu kde je pouze cteni TCP streamu a kontrola ze data jsou vzestupna cyklicka rada. Server (zdrojak prilozen) pouze odesila nahodne velike chunky s vzestupnou sekvenci a je limitovan rychlosti zpracovani clienta.

 

Pokud v simulatoru nachvilku pozastavim pomoci breakpontu program tak neco na pozadi prijma data ale do programu se jiz nedostanou. Kdyby to bylo UDP tak to chapu to je ztratova komunikace, ale TCP by melo zvolnit, prestat potvrzovat aby se zadna data neztratila. Pripadne by se spojeni melo uzavrit aby nebyla narusena sekvence.

 

Chovani demo programu:

Client i server si povidaly nekolik hodin bez chyby. Pri aktivaci breakpointu uz nesedela sekvence a presel do seqErr stavu.

 

Prosim o opravu simulatoru, takhle se velice slozite vyviji neaka sitova komunikace. Nektere veci vyvinout jdou i s timto omezenim ale mnoho edgecase se projevi az pri plnem saturovani bufferu.

Pokud nekde delam chybu tak prosim o upresneni. Rad se priucim

Dekuji

Odpovědi 1

M.B. 3. 10. 2024 11:30

Dobrý den,

aktuálně simulátor při zastavení na breakpointu, zastaví pouze vykonávání uživatelského programu. Obsluha komunikací běží dále a data jsou odebírána ze socketu a předávána do zápisníku. Prověřím, zda by bylo možné tuto obsluhu také v případě krokování pozastavit, aby bylo možné TCP komunikace ladit.

Vaše odpověď

Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.