Witam serdecznie, mam problem z gniazdami.
Mam serwer i klientów są połączeni przez router i problem iż serwer nie wykrywa rozłączeniu poprzez wyciągniecie kabla sieciowego z któregoś z klientów.
Próbuje ustalić usterkę poprzez funkcję niskopoziomowe i nie mogę nie wiem jak odczytać stan z gniazda nie używając funkcji recv i send. Bez pingowanie chce zmniejszyć ruch w sieci.
Mam pytanie jeszcze dotyczęce opcji gniazd SO_KEEPALIVE - ustawiam gniazda klientów na tą opcję, wiem że gniazda kumunikują się między sobą z określonym czasie, ale czy gniazda w jakiś sposób informują aplikację o braku połaczeni np. mam keepalive ustawionego na 5 sekund ale nie wiem jak odczytywać czy minął czas, czy tym się zajmuje same gniazdo, czy aplikacja.
- Jaka jest różnica między opcją LINGER a KEEPALIVE.
I gdzie mogę zanaleść specyfikację gniazd siciowych a dokładnie gwałtowne rozłączanie poprzez zrywanie kabli?