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 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

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

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky Ladislav Hagara | Komentářů: 9
    včera 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

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

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

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

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 22
    8.9. 14:22 | Nová verze

    Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."

    Ladislav Hagara | Komentářů: 4
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (3%)
     (4%)
     (2%)
    Celkem 160 hlasů
     Komentářů: 12, poslední dnes 13:00
    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.