praegune kellaaeg 17.06.2025 23:11:25
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Bssldr
HV kasutaja
liitunud: 05.12.2009
|
18.03.2011 15:53:53
Boost.Asio TCP ühenduse katkemise avastamine |
|
|
Oletame, et luuakse TCP ühendus ja mingil perioodil andmeid ei saadeta. Sellel perioodil aga näiteks tõmmatakse ühenduse loonud masina tagant võrgukaabel ära. Kuidas peaks nüüd tegema kindlaks, et ühendust enam pole? Üks võimalus oleks vaadata, kas boost::asio::ip::tcp::socket.send() failib, aga ei tahaks mõttetuid andmeid saata.
Kui nüüd Winsock poole vaadata, kas siis sealne select() funktsioon oleks antud olukorras abiks?
|
|
Kommentaarid: 9 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Supiplex
HV veteran

liitunud: 11.12.2002
|
|
Kommentaarid: 38 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
34 |
|
tagasi üles |
|
 |
Bssldr
HV kasutaja
liitunud: 05.12.2009
|
18.03.2011 19:52:11
|
|
|
Sellist kontrollimist võib vaja minna tegelikult pigem siis, kui on tegemist serveriga ja see parajasti kliendilt midagi ootab. TCP keep-alive on tõesti üks lahendus, aga Windowsi all tuleb kindlasti WinAPI funktsioonidega uus timeout paika panna. Boostis võib ju keep-alive peale lükata, aga default timeout on ~2 tundi, mida on liiga palju.
|
|
Kommentaarid: 9 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Supiplex
HV veteran

liitunud: 11.12.2002
|
19.03.2011 13:39:30
|
|
|
Bssldr kirjutas: |
Sellist kontrollimist võib vaja minna tegelikult pigem siis, kui on tegemist serveriga ja see parajasti kliendilt midagi ootab. TCP keep-alive on tõesti üks lahendus, aga Windowsi all tuleb kindlasti WinAPI funktsioonidega uus timeout paika panna. Boostis võib ju keep-alive peale lükata, aga default timeout on ~2 tundi, mida on liiga palju. |
Jah, lisaks kipuvad opsüsteemis need TCP/IP parameetrid, sunnikud, globaalsed olema.
Kui TCP protokolli sisseehitatud variant ei sobi, siis pole sul muud valikut kui ise teha. Ma oletan et sa arendad mingit iseenda protokolli. Seal defineeridki mingi lihtsa pingi-laadse diagnostika. Pingi saadad teisele poolele soovitud sagedusega ja ootad vastust täpselt nii kaua kui tahad.
_________________ The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions. |
|
Kommentaarid: 38 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
34 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|