/ / Je TCP Reset (RST) obojsmerný? - zásuvky, tcp

Je TCP Reset (RST) dvakrát? - zásuvky, tcp

Mám aplikáciu klient-server (Java) používajúcu trvalé pripojenia TCP, ale niekedy server prijíma java.io.IOException: Connection reset by peer Výnimkou pri pokuse o zápis do soketu však v protokole klienta nevidím žiadnu chybu.

Tento RST je pravdepodobne spôsobený sprostredkujúcim proxy / routerom, ale ak je to tak, malo by sa to vidieť aj na klientovi?

odpovede:

0 pre odpoveď č. 1

Ak klient pošle RST, môže sa na ňom zobraziť pomocou identifikátora paketov, ako je napr Wireshark, Nevystaví sa však v žiadnych soketoch na užívateľskej úrovni, pretože ich OS posiela ako reakciu na rôzne chybné vstupy (napríklad pokusy o pripojenie k uzavretému portu).

Ak je sieť RST odoslaná sieťou, je topredstierať, že je klientom prerušiť spojenie. Môže tak urobiť jedným smerom alebo oboma smermi. V takom prípade nemusí klient nič vidieť, s výnimkou RST zaslaného skutočným serverom, keď klient naďalej odosiela údaje na pripojenie, ktoré vníma ako otvorené, zatiaľ čo server to vidí ako uzavreté.

Skúste zachytiť prenos na serveri aj na klientovi a zistite, odkiaľ pochádzajú obnovenia.