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í
×
    dnes 03:22 | IT novinky

    Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).

    Ladislav Hagara | Komentářů: 1
    dnes 02:33 | Nová verze

    Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | Nová verze

    Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 16:22 | Bezpečnostní upozornění

    Intel vydal 30 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20251111 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Nová verze

    Byla vydána říjnová aktualizace aneb nová verze 1.106 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.106 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Komunita

    Canonical pro své zákazníky, předplatitele Ubuntu Pro, prodloužil podporu Ubuntu LTS z 12 let na 15 let (Legacy add-on). Týká se verzí od 14.04 (Trusty Tahr).

    Ladislav Hagara | Komentářů: 2
    včera 05:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 5.0.0. Nově je oficiálně podporován Linux ARM64/AArch64. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 6
    včera 00:33 | Nová verze

    Byla vydána verze 10 dnes již multiplatformního open source frameworku .NET (Wikipedie). Přehled novinek v příspěvku na blogu Microsoftu. Další informace v poznámkách k vydání na GitHubu nebo v přednáškách na právě probíhající konferenci .NET Conf 2025.

    Ladislav Hagara | Komentářů: 0
    12.11. 22:33 | IT novinky

    Rodina hardwaru služby Steam se začátkem roku 2026 rozroste. Steam Deck doplní nový Steam Controller, herní PC Steam Machine se SteamOS s KDE Plasmou a bezdrátový VR headset s vlastními ovladači Steam Frame.

    Ladislav Hagara | Komentářů: 2
    12.11. 16:22 | IT novinky

    Amazon Web Services (AWS) oznámil (en) výstavbu Fastnetu – strategického transatlantického optického kabelu, který propojí americký stát Maryland s irským hrabstvím Cork a zajistí rychlý a spolehlivý přenos cloudových služeb a AI přes Atlantik. Fastnet je odpovědí na rostoucí poptávku po rychlém a spolehlivém přenosu dat mezi kontinenty. Systém byl navržen s ohledem na rostoucí provoz související s rozvojem umělé inteligence a

    … více »
    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (18%)
     (23%)
     (15%)
     (23%)
     (15%)
     (16%)
    Celkem 350 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: Zavření non-block socketu během navazování připojení.

    Jardík avatar 25.10.2013 01:15 Jardík | skóre: 40 | blog: jarda_bloguje
    Zavření non-block socketu během navazování připojení.
    Přečteno: 302×
    Mám socket, vytvořený v non-block režimu a na něj zavolám connect(). Ten mi vrátí -1 a errno EINPROGRESS, což znamená, že spojení nemohlo být navázáno okamžitě a bude navázáno později.
    EINPROGRESS
    The socket is nonblocking and the connection cannot be completed immediately. It is possible to select(2) or poll(2) for completion by selecting the socket for writing. After select(2) indicates writability, use getsockopt(2) to read the SO_ERROR option at level SOL_SOCKET to determine whether connect() completed successfully (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error codes listed here, explaining the reason for the failure).
    Jde mi o to, jestli je během této doby bezpečné socket zavřít zavoláním close() a jestli bude zavřen buď okamžitě, popř. hned poté, co by bylo navázáno spojení nebo při tom došlo k chybě.
    Věřím v jednoho Boha.

    Řešení dotazu:


    Odpovědi

    25.10.2013 10:37 lofcek
    Rozbalit Rozbalit vše Re: Zavření non-block socketu během navazování připojení.
    Hm .. a co na tom by mohlo byt nebezpecne, pripadne pre koho? Ci myslis, ze ked to urobit vybuchne Temelin?

    Z pohladu tvojho procesu je spojenie ukoncene okamzite. A druhej strane (ak uz nahodou doslo k nadviazaniu) posle kernel notifikaciu (rovnako ako close pri kazdom nadviazanom spojeni). A ked k nadviazaniu nedoslo, tak vlastne nie je koho notifikovat.
    Josef Kufner avatar 25.10.2013 12:15 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Zavření non-block socketu během navazování připojení.
    Je důležité si uvědomit, že TCP garantuje doručení všech dat pouze, pokud bylo spojení korektně uzavřeno. To tedy znamená, že si na aplikační úrovni musíš buď posílat potvrzení (dlouho otevřená spojení) nebo detekovat předčasný konec dat (HTTP-like komunikace).

    TCP ti zaručí, že data přijdou ve správném pořadí, takže stačí poslat vždy jen potvrzení té poslední přijaté zprávy a tím potvrdíš i vše předtím. Toto potvrzování je docela rozumné spojit i s potvrzením zpracování přijatých dat, pokud to zpracování je rychlé. Pro dlouhodobější požadavky pak budeš potvrzovat zahájení zpracování, či zařazení do fronty.

    Spousta protokolů tohle nedělá a pak dochází ke ztrácení či poškozování dat. Například HTTP nekontroluje konec, Jabber ztrácí zprávy v rozpadlých spojeních (XEP 0184 není nedílnou součástí protokolu) a podobně.

    Jakmile budeš mít takovéto jednoduché potvrzování, nemusíš řešit, jak dobře jsi spojení uzavřel a celá tato otázka téměř pozbývá smyslu.
    Hello world ! Segmentation fault (core dumped)
    Řešení 1× (Jardík (tazatel))
    28.10.2013 14:35 luky
    Rozbalit Rozbalit vše Re: Zavření non-block socketu během navazování připojení.
    Jde mi o to, jestli je během této doby bezpečné socket zavřít zavoláním close() a jestli bude zavřen buď okamžitě, popř. hned poté, co by bylo navázáno spojení nebo při tom došlo k chybě.
    Jo, sitova vrstva ma svoji referenci a fyzicky se socket uvolni az navaze spojeni.

    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.