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 02:22 | 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 15.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Pozvánky

    Současně se SUSECON 2026 proběhne příští čtvrtek v Praze také komunitní Open Developer Summit (ODS) zaměřený na open source a openSUSE. Akce se koná ve čtvrtek 23. 4. (poslední den SUSECONu) v Hilton Prague (místnost Berlin 3) a je zcela zdarma, bez nutnosti registrace na SUSECON. Na programu jsou témata jako automatizace (AutoYaST), DevOps, AI v terminálu, bezpečnost, RISC-V nebo image-based systémy. Všichni jste srdečně zváni.

    lkocman | Komentářů: 1
    včera 15:44 | Humor

    Český úřad zeměměřický a katastrální zavedl u anonymního nahlížení do katastru nemovitostí novou CAPTCHA ve formě mapové puzzle: nepřihlášení uživatelé musí nově správně otočit devět dlaždic v 3x3 poli tak, aby dohromady daly souvislý obrázek výseče reálné mapy, přičemž na to mají pouze jeden časově omezený pokus. Test je podle uživatelů i odborníků příliš obtížný a na sociálních sítích pochopitelně schytává zaslouženou kritiku a

    … více »
    » FIDESZ🧡! « | Komentářů: 10
    včera 15:33 | Nová verze

    Byla vydána verze 1.95.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

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

    Mozilla prostřednictvím své dceřiné společnosti MZLA Technologies Corporation představila open-source AI klienta Thunderbolt. Primárně je určený pro firemní nasazení.

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

    Firma Cal.com oznámila, že přesouvá svůj produkční kód z otevřeného do uzavřeného repozitáře z důvodu bezpečnostního rizika umělé inteligence, která prý dokáže vyhledávat a zneužívat zranitelnosti rychleji, než by je jejich vývojářský tým stíhal opravovat. Zároveň zveřejnila samostatnou, open-source verzi Cal.diy pod licencí MIT, ovšem bez řady původních funkcí. O tom, zda je toto opatření rozumné, existují pochyby. … více »

    » FIDESZ🧡! « | Komentářů: 6
    včera 13:55 | Nová verze

    Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.04. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    15.4. 23:00 | Nová verze

    Kryptografická knihovna OpenSSL byla vydána v nové verzi 4.0. Přehled změn v souboru CHANGES.md na GitHubu. Odstraněna byla podpora SSLv2 Client Hello a SSLv3. Ve výchozím nastavení byla zakázána podpora odmítnutých eliptických křivek v TLS dle RFC 8422. Přibyla například podpora Encrypted Client Hello (ECH, RFC 9849).

    Ladislav Hagara | Komentářů: 0
    15.4. 20:55 | Komunita

    curl up 2026, tj. setkání vývojářů a uživatelů curlu, proběhne opět v Praze. O víkendu 23. a 24. května v Pracovně.

    Ladislav Hagara | Komentářů: 0
    15.4. 15:55 | IT novinky

    Aplikace pro ověřování věku uživatelů on-line platforem je technicky hotová a brzy bude k dispozici pro občany EU, oznámila dnes předsedkyně Evropské komise Ursula von der Leyenová. Půjde podle ní o bezplatné a snadno použitelné řešení, které pomůže chránit děti před škodlivým a nelegálním obsahem. Aplikace bude podle ní fungovat na jakémkoli zařízení a bude zcela anonymní.

    Ladislav Hagara | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1342 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Solaris ignoruje SO_REUSEADDR aneb Jak na TCP „multicast“

    13.5.2009 13:28 Andrej | skóre: 51 | blog: Republic of Mordor
    Solaris ignoruje SO_REUSEADDR aneb Jak na TCP „multicast“
    Přečteno: 290×

    Ahoj, mám dotaz ohledně jednoduchého problému. V TCP každý accept() vytváří na straně serveru nové spojení, které má stále stejnou místní adresu i port. Dá se něčeho podobného docílit na straně klienta?

    Úkol je jednoduchý: Démon, který (zejména kvůli firewallu) bude přijímat i navazovat TCP spojení pořád ze stejného portu. Každý démon může chtít navázat spojení (paralelně) s několika dalšími, případně přijmout několik příchozích spojení.

    Strinktně vzato, TCP spojení je čtveřice (adresa, port, adresa, port). Proto si myslím, že by neměl být problém z jedné adresy a z jednoho portu navázat víc spojení, pokud se každé z nic aspoň v jednom prvku čtveřice odlišuje. Na Linuxu tohle bez problémů funguje, ale na Solarisu ne.

    Například tato (pokusná) inicializace na Linuxu projde zcela bez problémů:

    sock1 = socket( AF_INET6, SOCK_STREAM, IPPROTO_TCP );
    sock2 = socket( AF_INET6, SOCK_STREAM, IPPROTO_TCP );
    
    setsockopt( sock1, SOL_SOCKET, SO_REUSEADDR, &ONE, sizeof( ONE ) );
    setsockopt( sock2, SOL_SOCKET, SO_REUSEADDR, &ONE, sizeof( ONE ) );
    
    bind( sock1, (const struct sockaddr *) &addr, sizeof( addr ) );
    bind( sock2, (const struct sockaddr *) &addr, sizeof( addr ) );
    

    Pak lze bez problémů vytvořit dvě TCP spojení z téže adresy a z téhož portu ke dvěma různým strojům. To jsem důkladně otestoval. Oba sockety můžou odesílat i přijímat data, všechno se správně doručí a prostě to funguje.

    Nicméně na Solarisu nastal problém. (Ne že bych to nečekal...) Druhý bind() mi hlásí Address already in use. Vždyť jsem přece nastavil SO_REUSEADDR, tak v čem je chyba? Taky jsem zkoušel nastavit setsockopt() až po prvním bind(), ale nepomolo to.

    Solaris měl kdysi bug, který byl nejspíš odstraněn natolik radikálně, že SO_REUSEADDR už prostě nefunguje. Nebo možná funguje, ale neumožňuje vícenásobný bind() na in6addr_any? Možná, ale pak je tahle vymoženost pro mě bezcenná.

    Nejdůležitější otázka nakonec: Nemá se náhodou problém tohoto typu řešit nějak jinak? Připadá mi, že každý systém si vykládá SO_REUSEADDR po svém. Pak tudy cesta nevede, protože takový kód není přenositelný.

    Odpovědi

    13.5.2009 13:38 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Solaris igneruje SO_REUSEADDR aneb Jak na TCP „multicast“

    Aha, tak možná je opravdu problém s tou wildcard adresou. Linuxu to kupodivu nevadí, zatímco Solarisu ano. Solaris tedy zřejmě neumí navázat několik TCP spojení ze stejné adresy a stejného portu. Nebo jsem něco přehlédl?

    13.5.2009 13:48 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Solaris igneruje SO_REUSEADDR aneb Jak na TCP „multicast“

    Tak tohle vypadá dost beznadějně. Někdo už tenhle problém řešil. A nejspíš nevyřešil. :-(

    13.5.2009 15:18 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Solaris ignoruje SO_REUSEADDR aneb Jak na TCP „multicast“

    Vzdávám to. Když i Jabber provozuje serverová spojení z náhodných portů, asi to má svůj důvod...

    [root@charon andrej]# netstat -atpn | grep 5269
    tcp        0      0 :::5269                 :::*                    LISTEN      6081/java
    tcp        0      0 ::ffff:95.82.129.:39267 ::ffff:62.109.141.:5269 ESTABLISHED 6081/java
    tcp        0      0 ::ffff:95.82.129.:54748 ::ffff:81.2.199.30:5269 ESTABLISHED 6081/java
    tcp        0      0 ::ffff:95.82.129.1:5269 ::ffff:88.86.102.:46082 ESTABLISHED 6081/java
    tcp        0      0 ::ffff:95.82.129.1:5269 ::ffff:81.2.199.3:57781 ESTABLISHED 6081/java
    tcp        0      0 ::ffff:95.82.129.:38551 ::ffff:88.86.102.5:5269 ESTABLISHED 6081/java
    tcp        0      0 ::ffff:95.82.129.1:5269 ::ffff:208.68.163:45581 ESTABLISHED 6081/java
    tcp        0      0 ::ffff:95.82.129.:52673 ::ffff:208.68.163.:5269 ESTABLISHED 6081/java

    Ten zvláštní multicasting, který jsem chtěl, by sice na Linuxu fungoval, ale to je chabá útěcha. Asi se budu muset vybodnout na ohleduplnost vůči firewallu a taky používat implicitní porty.

    Ach jo, zase další den času v háji. :-D

    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.