abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 5
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

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

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

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

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    24.4. 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    24.4. 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    24.4. 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (16%)
    Celkem 765 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: socket v pythonu

    8.11.2007 10:20 kafcha | skóre: 1 | east
    socket v pythonu
    Přečteno: 447×
    zdravim, mam takovy problem ;] na zber dat pouzivame wifi terminaly, ke kterym jsem napsal maly 'server' v pythonu:
    HOST = ''
    PORT = 6001
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((HOST, PORT))
    s.listen()
    print 'server ceka na pripojeni'
    while 1:
            conn, addr = s.accept()
            print pripojen klient:', addr
            while 1:
                    data = conn.recv(1024) *prijmu data
                    nejaka omacka co zpracuje dosla data
                    conn.send(pomsend) *poslu data
    
    a problem je nasledujici, pokud clovek s terminalem odejde mimo dosah signalu, tak se nekdy stane ze server zustane viset (asi na recv()) a jedina moznost je ten programek sestrelit, pockat az upadne spojeni co je ve stavu fin_wait a pak ho pustit znovu. Je nejaka moznost jak se tohoto chovani zbavit? + jak poznam kdy se client(wifi terminal) odpojil korektne?

    Odpovědi

    8.11.2007 10:48 psonek | skóre: 20 | blog: psonek
    Rozbalit Rozbalit vše Re: socket v pythonu
    Socketu muzes pres set socket option nastavit recv timeout. Myslim, ze v pripade tech terminalu bude stacit 1s. Nevim presne jak to je v pythonu, ale obecne po 1s vylitne vyjimka nebo recv vrati 0 bytu. Pak muzes klientsky socket zavrit.

    Co se tyce korektniho odpojeni, tak ja bych dodelal do te omacky nejakej prikaz, kterym klient pozada o ukonceni spojeni. Server po obdrzeni toho prikazu zavre socket a to samo udela klient.
    8.11.2007 11:03 kafcha | skóre: 1 | east
    Rozbalit Rozbalit vše Re: socket v pythonu
    jdu vyzkouset ten timeout co se tyce toho korektniho odpojeni tak takhle to bohuzel nejde, jelikoz s klientem nic delat nemuzu ;[ spis me jde o to ze kdyz je ten terminal pripojenej, tak kdyz si dam vypsat spojeni v netstatu, tak ho tam vidim a pokud terminal vypnu, tak z vypisu netstatu zmizi, coz beru jako korektni ukonceni a jde mi o to, jestli tohle muzu nak poznat (naka vlastnost toho poslouchajiciho socketu? treba pocet pripojenych klientu ci neco takoveho)
    8.11.2007 11:42 kafcha | skóre: 1 | east
    Rozbalit Rozbalit vše Re: socket v pythonu
    tak s tim nastaveni recv timeoutu bych potreboval pomoc, protoze netusim kde ci jak to nastavit. Kdyz pouziju settimeout(n) tak to je asi timeout u accept a to nepotrebuju
    8.11.2007 13:15 psonek | skóre: 20 | blog: psonek
    Rozbalit Rozbalit vše Re: socket v pythonu
    Ja jsem bohuzel v pythonu nikdy neprogramoval. V C bys zavolal:
        struct timeval timeout;
    
        /* set receive timeout to 1s */
        timeout.tv_sec = 1;
        timeout.tv_usec = 0;
    
        setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)
    
    V pythonu budes muset pouzit

    setsockopt(socket.SOL_SOCKET, socket.SO_RCVTIMEO, timeout)

    Ten posledni parametr timeout bude string reprezentujici Cckovsky struct timeval. Viz. http://docs.python.org/lib/socket-objects.html

    Bohuzel nemam moznost to vyzkouset.
    8.11.2007 17:16 kafcha | skóre: 1 | east
    Rozbalit Rozbalit vše Re: socket v pythonu
    tak se mi to nakonec podarilo udelat takhle tv = struct.pack('ii', int(timeout), int((timeout-int(timeout))*1e6)) setsockopt(socket.SOL_SOCKET, socket.SO_RCVTIMEO, tv)

    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.