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 14:33 | Zajímavý software

    Grafický správce balíčků Myrlyn pro SUSE a openSUSE, původně YQPkg, dospěl do stabilní verze 1.0.0. Postaven je nad libzypp a Qt 6. Projekt začal na SUSE Hack Weeku 24.

    Ladislav Hagara | Komentářů: 3
    dnes 13:44 | Zajímavý projekt

    Vývojáři se podařilo vytvořit patch pro Wine, díky kterému je možné na linuxovém stroji nainstalovat a spustit Adobe Photoshop (testováno s verzemi Photoshopu PS2021 a PS2025). Dalším patchem se podařilo umožnit dokonce instalaci téměř celého Adobe Creative Cloud Collection 2023, vyjma aplikací Adobe XD a Adobe Fresco. Patch řeší kompatibilitu s windowsovými subsystémy MSHTML - jádrem prohlížeče Internet exporer, a MSXML3 - parserem

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 13:33 | IT novinky

    Hackeři zaútočili na portál veřejných zakázek a vyřadili ho z provozu. Systém, ve kterém musí být ze zákona sdíleny informace o veřejných zakázkách, se ministerstvo pro místní rozvoj (MMR) nyní pokouší co nejdříve zprovoznit. Úřad o tom informoval na svém webu a na sociálních sítích. Portál slouží pro sdílení informací mezi zadavateli a dodavateli veřejných zakázek.

    Ladislav Hagara | Komentářů: 2
    dnes 12:22 | Nová verze

    Javascriptová knihovna jQuery (Wikipedie) oslavila 20. narozeniny, John Resig ji představil v lednu 2006 na newyorském BarCampu. Při této příležitosti byla vydána nová major verze 4.0.0.

    Ladislav Hagara | Komentářů: 2
    dnes 01:33 | Zajímavý projekt

    Singularity je rootkit ve formě jaderného modulu (Linux Kernel Module), s otevřeným zdrojovým kódem dostupným pod licencí MIT. Tento rootkit je určený pro moderní linuxová jádra 6.x a poskytuje své 'komplexní skryté funkce' prostřednictvím hookingu systémových volání pomocí ftrace. Pro nadšence je k dispozici podrobnější popis rootkitu na blogu autora, případně v článku na LWN.net. Projekt je zamýšlen jako pomůcka pro bezpečnostní experty a výzkumníky, takže instalujte pouze na vlastní nebezpečí a raději pouze do vlastních strojů 😉.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 21:22 | Zajímavý projekt

    Iconify je seznam a galerie kolekcí vektorových open-source ikon, ke stažení je přes 275000 ikon z více jak dvou set sad. Tento rovněž open-source projekt dává vývojářům k dispozici i API pro snadnou integraci svobodných ikon do jejich projektů.

    NUKE GAZA! 🎆 | Komentářů: 3
    včera 03:33 | IT novinky

    Dle plánu certifikační autorita Let's Encrypt nově vydává také certifikáty s šestidenní platností (160 hodin) s možností vystavit je na IP adresu.

    Ladislav Hagara | Komentářů: 8
    17.1. 14:44 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 8
    17.1. 13:11 | Zajímavý projekt

    Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.

    NUKE GAZA! 🎆 | Komentářů: 3
    16.1. 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (9%)
     (20%)
     (3%)
     (5%)
     (2%)
     (11%)
     (39%)
    Celkem 521 hlasů
     Komentářů: 14, poslední včera 10:22
    Rozcestník

    Dotaz: TCP server na linuxu

    27.3.2013 15:36 Petr
    TCP server na linuxu
    Přečteno: 592×
    Dobrý den, v C++ jsem si napsal jednoduchý server (na linuxu). Vycházel jsem z informací popsaných zde:
      http://www.builder.cz/rubriky/c/c--/tcp-server-v-l inuxu-156219cz
    Hlavně z toho příkladu.

    Přenos dat mezi serverem a klientem (taky napsaný v c++) funguje bez problémů. Ale při testování jsem narazil na zajímavou chybu. Zapnu server a připojím se na něj pomocí klienta, klient pošle data, server je zpracuje a pošle odpověď. Potom server ukončím a když se ho pokusím znovu rychle zapnou, vypíše mi chybu při pojmenování socketu, tedy funkce bind. Stačí počkat pár vteřin a další pokus zapnutí serveru se již podaří.

    Je to normální chování, nebo by měl server naskočit hned?

    Řešení dotazu:


    Odpovědi

    27.3.2013 15:45 chrono
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Pravdepodobne záleží na tom, akým spôsobom sa ten server ukončí (a teda, či pri ukončovaní pozatvára spojenia...).
    27.3.2013 15:49 Petr
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Kontroloval jsem a zavírání otevřeného socketu (close(socket)) by mělo být v pořádku.
    27.3.2013 15:54 Petr
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Jak správně by se měl vůbec server ukončit?

    Já jenom pozavírám otevřené sockety pomocí close(nazev_socketu) a ukončím program. Nezapomínám na něco?
    Michy avatar 27.3.2013 16:04 Michy | skóre: 11 | Praha
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Před voláním bind je třeba soketu nastavit příznak SO_REUSEADDR. Tedy něco takového:
    static const int flag = true;
    setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof(flag));
    
    Více viz man 7 socket
    27.3.2013 17:14 Petr
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Děkuju, pomohl to. Mohl bych poprosit o stručné vysvětlení, co funkce setsockopt přesně provedla. A proč to bez ní šel server spustit znovu až po několika vteřinách? Děkuji.
    27.3.2013 17:41 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Zkuste se podívat programem netstat na tabulku spojení. Obvykle tam i po ukončení spojení ještě spojení zůstane se stavem "TIME_WAIT" nějakou dobu, než timer vyprší. Očekával bych, že existence buď přímo těchto ještě zcela nesmazaných spojení nebo jiného podobného timeru klasifikuje soket jako obsazený i nějakou dobu po ukončení programu. Funkce setsockopt nastavuje volby soketu a konkrétně nastaví jeho reentrantnost.
    Řešení 1× (little.owl)
    27.3.2013 21:18 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Kdybyste chtěl poměrně rozvláčné vysvětlení, tak dobře poslouží TIME_WAIT and its design implications for protocols and scalable client server systems. (To podstatné začíná větou „There are two reasons for the TIME_WAIT state.“, praktický význam pak odstavcem „The second reason for the TIME_WAIT state is to implement TCP's full-duplex connection termination reliably.“)
    28.3.2013 20:11 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    Díky za hezký odkaz.
    little.owl avatar 11.4.2013 00:13 little.owl | skóre: 22 | blog: Messy_Nest | Brighton/Praha
    Rozbalit Rozbalit vše Re: TCP server na linuxu
    +1
    A former Red Hat freeloader.

    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.