Portál AbcLinuxu, 13. července 2025 21:15
Řešení dotazu:
Správně je set_linger.l_onoff = 1; set_linger.l_linger = 0;
, tj. zahodí neodeslaná data a okamžitě odešlě protistraně RESET. Pokud je l_onoff == 0
pošle FIN, ale pouze pokud jsou všechna data doručena protistraně (implicitní chování). Pokud je l_onoff == 1 && l_linger != 0
, tak v případě, že jsou všechna data doručena pošle FIN, jinak po vypršení timeoutu pošlě RESET.
Pokud program spustím pod Wine, funguje dle očekávání bez problémů. Ovšem na Windows ne...
Stejný dotaz jsem ještě položil na Okamžité uzavření soketu ve Windows (builder.cz), ovšem zatím bez řešení.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.