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

    V prosinci 2012 byla z linuxového jádra odstraněna podpora procesorů 386. Včera započalo odstraňování podpory procesorů 486.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | IT novinky

    IuRe (Iuridicum Remedium) vyhlásila Ceny Velkého bratra za rok 2025. Slídily roku jsou automobilka Volkswagen, Meta a česká Ministerstva vnitra a průmyslu a obchodu. Autorem Výroku Velkého bratra je dánský ministr spravedlnosti zpochybňující právo na šifrovanou komunikaci. Naopak Pozitivní cenu získali studenti Masarykovy univerzity za odpor proti nucení do používaní aplikace ISIC.

    |🇵🇸 | Komentářů: 0
    včera 21:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.16.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 244 vývojářů. Přehled novinek v poznámkách k vydání.

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

    Nejnovější X.Org X server 21.1.22 a Xwayland 24.1.10 řeší 5 bezpečnostních chyb: CVE-2026-33999, CVE-2026-34000, CVE-2026-34001, CVE-2026-34002 a CVE-2026-34003.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Po roce vývoje od vydání verze 1.28.0 byla vydána nová stabilní verze 1.30.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.30.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2026-04-13. Přehled novinek poznámkách k vydání. Nově ve výchozím nastavení příkaz sudo vyžaduje heslo.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Nová verze

    Společnost Blackmagic Design oznámila vydání verze 21 svého proprietárního softwaru pro editování videí a korekci barev DaVinci Resolve běžícího také na Linuxu. Z novinek je nutno vypíchnout možnost editování fotografií. Základní verze DaVinci Resolve je k dispozici zdarma. Plnou verzi DaVinci Resolve Studio lze koupit za 295 dolarů.

    Ladislav Hagara | Komentářů: 9
    včera 05:00 | Nová verze

    Multipatformní renderovací jádro webového prohlížeče Servo je na crates.io. S vydáním verze 0.1.0 (LTS).

    Ladislav Hagara | Komentářů: 0
    13.4. 23:33 | Komunita

    Nadace FreeBSD Foundation před týdnem oznámila projekt Laptop Integration Testing. Vyzvala dobrovolníky, aby pomocí nástroje otestovali podporu FreeBSD na svých zařízeních a výsledky odeslali vývojářům. Vznikla stránka Nejlepší notebooky pro FreeBSD.

    Ladislav Hagara | Komentářů: 5
    13.4. 22:22 | IT novinky

    Na začátku srpna vstoupí v účinnost nová evropská pravidla transparentnosti pro umělou inteligenci (AI). Zavádějí povinnost jakýkoli AI obsah označit, informovat o takzvaných deepfakes a upozornit uživatele, že komunikuje s umělou inteligencí. Cílem opatření je omezit šíření manipulativního či klamavého obsahu, zvýšit důvěru v digitální prostředí a chránit uživatele.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1326 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.