Portál AbcLinuxu, 12. května 2025 07:41
Ř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.