abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Humor

    Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].

    Ladislav Hagara | Komentářů: 3
    včera 16:33 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.

    Ladislav Hagara | Komentářů: 1
    včera 16:00 | Nová verze

    Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.

    Ladislav Hagara | Komentářů: 0
    5.3. 21:11 | Nová verze

    Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.

    Ladislav Hagara | Komentářů: 7
    5.3. 17:33 | Komunita

    Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

    Ladislav Hagara | Komentářů: 0
    4.3. 22:55 | Nová verze

    Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 8
    4.3. 18:11 | IT novinky

    Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.

    Ladislav Hagara | Komentářů: 56
    4.3. 12:22 | Komunita

    Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).

    Ladislav Hagara | Komentářů: 104
    4.3. 11:44 | Pozvánky

    Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.

    Petr Krčmář | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (11%)
     (28%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1026 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Linux/Win32 API: SO_LINGER - okamžité uzavření soketu

    Fuky avatar 30.10.2008 22:55 Fuky | skóre: 52 | blog: 4u
    Linux/Win32 API: SO_LINGER - okamžité uzavření soketu
    Přečteno: 426×
    Multiplatformní aplikace napsaná v C se připojí k protistraně a začne jí posílat data. Protistraně se zaplní buffer, takže přestane přijímat pakety. Začnou se tedy objevovat retransmission pakety. Uzavřu tedy spojení s protistranou, abych jí dal čas na vyprázdnění bufferu. V Linuxu se mi spojení díky nastavení SO_LINGER okamžitě uzavře. Ovšem ve Windows spojení zůstane viset dál, i když použiju stejné nastavení SO_LINGER, protože se čeká na doručení paketu. Jak zajistit i ve Windows okamžité uzavření soketu, i když jsou ve frontě stále nějaké nedoručené pakety? Děkuji za nakopnutí správným směrem.

    Řešení dotazu:


    Odpovědi

    Pavel Stárek avatar 31.10.2008 12:16 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Linux/Win32 API: SO_LINGER - okamžité uzavření soketu
    Citace z dokumentace na webu MSDN:

    To disable a socket from remaining open, an application only needs to set the l_onoff member of the linger structure to zero.

    A pro jistotu bych ještě nastavil ten l_linger timeout v té struktuře na nulu.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    Fuky avatar 2.11.2008 12:00 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Linux/Win32 API: SO_LINGER - okamžité uzavření soketu
    Děkuji za radu, i toto nastavení jsem zkoušel a výsledek je stále stejný. Jakmile začnou chodit retransmission pakety, tak mi vrátí fce select() na zapisovacím deskriptoru WSAEWOULDBLOCK - Error 10035, já tedy uzavřu soket, ale Windows nechá spojení otevřené a čeká až bude moci doručit neodeslaný paket.
    Fuky avatar 2.11.2008 22:33 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Linux/Win32 API: SO_LINGER - okamžité uzavření soketu

    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í.

    Řešení 1× (Fuky (tazatel))
    Fuky avatar 3.11.2008 22:52 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Linux/Win32 API: SO_LINGER - okamžité uzavření soketu
    Takže problém je vyřešen. Chyba bude nakonec na straně FW protistrany v nižší síťové vrstvě, na funkci v Linuxu to nemělo vliv, ale ve Windows nefungovalo okamžité uzavření soketu. Další problém byl v tom, že před closesocket() se nesmí volat shutdown() jinak se soket také okamžitě neuzavře.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.