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í
×
    včera 17:22 | Nová verze

    Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

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

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

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

    Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    11.3. 23:22 | Nová verze

    Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 4
    11.3. 10:22 | Upozornění

    Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.

    Ladislav Hagara | Komentářů: 11
    11.3. 10:11 | IT novinky

    Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.

    Ladislav Hagara | Komentářů: 33
    11.3. 09:33 | IT novinky

    Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.

    Ladislav Hagara | Komentářů: 0
    11.3. 00:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1059 hlasů
     Komentářů: 26, poslední včera 08:56
    Rozcestník

    Dotaz: socket v pythonu

    8.11.2007 10:20 kafcha | skóre: 1 | east
    socket v pythonu
    Přečteno: 494×
    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.