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 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 5
    včera 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 8
    včera 03:44 | Komunita

    Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.

    Ladislav Hagara | Komentářů: 3
    včera 01:22 | IT novinky

    Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).

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

    Byla vydána grafická knihovna Mesa 26.0.1 s podporou API OpenGL 4.6 a Vulkan 1.4. Je to první stabilní verze po 26.0.0, kde se novinky týkají mj. výkonu ray tracingu na GPU AMD a HoneyKrisp, implementace API Vulkan pro macOS.

    |🇵🇸 | Komentářů: 0
    25.2. 20:22 | Nová verze

    Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    25.2. 18:00 | Nová verze

    Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    25.2. 17:44 | Zajímavý článek

    Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je

    … více »
    Ladislav Hagara | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 964 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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.