Do diskuse momentálně není možné vkládat příspěvky. Plná funkčnost bude obnovena v nejbližších dnech. Děkujeme za pochopení.
Úvod > Diskuse > Obecná diskuse > Obecný dotaz: jak je udržováno TCP spojení, když se nic neposílá?

Obecný dotaz: jak je udržováno TCP spojení, když se nic neposílá?

P (1.6.2009 20:41:45)

Ahoj, zajímalo by mne, jak je udržováno TCP spojení, když klient ani server neposílá data a zda je trvalé, nebo vždy po určité době přestane existovat? Mám totiž vlastní C# server-klient aplikaci a po cca 20 hodinách mi server vyhodil exceptionu, že bylo spojení uzavřeno. Zdá se mi, že to byl nějaký zcela nezávislý bug, ale raději se ptám. Mockrát děkuji!

Fang (2.6.2009 07:29:47)

No spojeni si udrzujou vsechny NATy a firewally po ceste, vetsina domacich routeru ma vetsinou timeout na spojeni kolem 24 hodin (zalezi na na routeru). Tak ze je dobry pokud neco takovyho programujes mit jakousi udrzovaci komunikaci. Posilanim nejakych dat zpusobis to ze spojeni po ceste je aktivni a nevyprsi timeoutem.

Nargon (2.6.2009 11:55:34)

Presne tak, vzdy je tam nejakej timeout. Je to osetreni pred tim, aby ta "cesta" nebyla zabrana kdyz treba ten program spadne a nezavre to spojeni. Takhle se zavre automaticky po nejake dobe nepouzivani. A nastavit se ten timeout da ruzne. Ja ho mam nastaveny myslim na 1h. A Jak uz ti tu radi, tak nejlepsi je treba kazdych 5 minut poslat 1Byte. Pak se ti spojeni nezrusi a neni to moc dat navic.