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 15:33 | Komunita

    Ve Firefoxu bude lepší správa profilů (oddělené nastavení domovské stránky, nastavení lišt, instalace rozšíření, uložení hesla, přidání záložky atd.). Nový grafický správce profilů bude postupně zaváděn od 14.října.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.

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

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | Nová verze

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 5
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 16
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 4
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 201 hlasů
     Komentářů: 13, poslední včera 07:41
    Rozcestník

    Dotaz: UDP Komunikacia

    14.11.2017 00:19 darren97 | skóre: 4
    UDP Komunikacia
    Přečteno: 784×
    Příloha:
    Ahojte, riesim UDP komunikator. Nejaky uvodny kod mam z netu, ale s tym, ze je typu: poslem nieco z klienta a server odpovie to iste. Teraz by som to rad prerobil tak, ze pokojne jedna alebo druha strana moze poslat spravu (nie naraz, nemusi to byt v rovnakom case obojsmerne) a druha strana to zobrazi a nasledne zase moze poslat ktorakolvek strana spravu a druha ju zobrazi atd. Problem mam s funkciou: recvfrom ...zastavi mi program na tom mieste. Chcem mat proste iba nejaku kontrolu: ak mi nieco pride, tak zobraz. Kod je v prilohe, su tam niektore veci zapoznamkovane. - ak zadam text tak ho posli - ak nieco pride tak zobraz a nasledne daj ponuku opat pre posielanie

    Vopred vdaka za spatnu vazbu.


    Řešení dotazu:


    Odpovědi

    Řešení 1× (darren97 (tazatel))
    Jendа avatar 14.11.2017 05:55 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: UDP Komunikacia
    Jestli to dobře chápu, potřebuješ čekat na soketu a na stdin současně? Vyber si: poll nebo to rovnou napiš vícevláknově.
    14.11.2017 08:39 R
    Rozbalit Rozbalit vše Re: UDP Komunikacia
    V sietovych programoch sa casto pouziva select().
    16.11.2017 12:28 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: UDP Komunikacia

    Používá se hlavně poll(), protože select() je takový slabý odvar, který na některých systémech nakonec stejně volá poll().

    16.11.2017 13:12 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: UDP Komunikacia

    Já to ještě trochu zobecním: Co když chce čekat na socketu i na stdin, ale zároveň ještě asynchronně něco (dalšího) dělat? I to se dá (v jednovláknovém programu) zařídit. Řešení může být například:

    1. Zaregistrovat signal handler (man sigaction) pro SIGIO (SIGPOLL), který napřed zkontroluje neblokujícím poll() (timeout 0), který file descriptor a typ operace to bude, a pak přečte příslušnou zprávu, což bude neblokující (a dá se to pojistit také pomocí F_SETFL O_NONBLOCK (man fcntl)).
    2. Nastavit na socketu F_SETOWN na svůj vlastní proces (getpid()), aby pak dostával asynchronně signály o změnách na socketu (man socket, man fcntl).

    Samozřejmě tady nezmiňuju corner cases, které se musí rozumně ošetřit. Například když zápis do neblokujícího deskriptoru najednou vrátí EWOULDBLOCK.

    16.11.2017 13:23 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: UDP Komunikacia
    Pár detailů je v mém komentáři níže. Ale jak se tak dívám na ten zdroják, musím upozornit na jednu věc: Něco ke tam od základu špatně. Je to toriž omezené na IPv4 z roku 1975, takže například tady u mě na síti to prostě nefunguje. Jestli to má být omezené na jeden protokol, je lepší zvolit ten z roku 1995 (IPv6), nikoliv ten z roku 1975.

    Správným řešením je getaddrinfo(). To je funkce, která správně vyhodnotí IP adresy všech možných typů i doménová jména a dodá pak všechny potřebné konstanty pro vytvoření toho socketu. Takže pak uživatel nikdy nemusí mít v kódu něco jako AF_INET6, což může přestat fungovat, až se bude používat AF_INET54, ale vezme zkrátka konstanty ze struktur vrácených z getaddrinfo(). Navíc getaddrinfo() správně vyhodnotí konektivitu, takže se nestane, aby například na IPv6-only stroji nabízelo IPv4 adresy, i když zadaná doména nějaké má.

    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.