2015-09-11 10:29 GMT+02:00 Marek Nožka :
> Ahoj
>
> Potřeboval bych malou radu. Učím programování(Python) na SŠ. Takže jsem
> vymyslel(okoukal), že si budeme hrát na Roboty. Bude to tahová hra.
> Jednotliví roboti(studenti) se připojí k serveru a budou mezi sebou
> soutěžit
> o nejlepší algoritmus
V tom se asi neshodneme. Nespatřuji nic špatného na tom napsat si vlastní TCP
protokol založený na socketu z stdlib.
Zastávám názor, že je dobré rozumět a učit se věci pěkně odspodu. Ono i to
Django nebo Flask takto vznikl. Na začátku nebylo nic a potom byl framework.
Uvedu vlastní zkušenost. V
2015-09-29 16:28 GMT+02:00 Pavel Schön :
> Moje knihovna nikdy nebyla nasazena v produkci, je to ciste experimentalni
> zalezitost, hricka pro studijni ucely. Autor puvodniho dotazu hleda neco pro
> studijni a vyukove ucely, pokud se nepletu.
Obzvlast pro vyukove ucely je skutecne vhodne vybrat
Moje knihovna nikdy nebyla nasazena v produkci, je to ciste experimentalni
zalezitost, hricka pro studijni ucely. Autor puvodniho dotazu hleda neco pro
studijni a vyukove ucely, pokud se nepletu.
Server si v zadnem pripade nepamatuje stav zamku pri restartu, klientska cast
neresi vypadky spojen
Zajímavý kus kódu. Co se stane, když se server restartuje, zůstane stav
zámků zachován? Co se stane, když klient požádá o acquire a musí čekat,
protože zámek má již někdo jiný, ale zrovna v tu chvíli vypadne síť,
spojení se ukončí a recv() vrátí prázdný řetězec?
Když už řešit zamykání takhle síťov
Psal jsem to tehdy, pisu to i ted - tohle reseni je naprosto nevhodne,
nema zadne reseni konkurentniho pristupu. Neni thread safe napriklad,
coz ho naprosto diskvalifikuje jako implementace zamku. Nehlede na to,
ze je to reimplementace kola.
Honza Král
E-Mail: honza.k...@gmail.com
Phone: +420 606
Ahoj,
dovolim si navrhnout pure python reseni na strane serveru zalozene na
threadingu a lockach. Kdysi jsem napsal jednoduchy lock manager. Viz:
http://code.activestate.com/recipes/578194-distributed-lock-manager-for-python/
Ve zkratce:
- na serveru bezi TCP daemon (./dlm.py), ktery obsluhuje