[python] Roboti, REST, Flask?
Honza Javorek
mail na honzajavorek.cz
Pátek Září 11 11:05:48 CEST 2015
Pokud bude REST API tim nejlepsim zpusobem jak to udelat (coz nemusi byt),
tak bych to udelal nejak takto:
- hrac udela POST na nejake URL, to mu vrati HTTP kod 202, nejakou odpoved
a Location hlavicku, v niz bude odkaz na URL s vysledkem
- hrac dela nasledne polling na vysledkovem URL, kde se objevi odpoved az
ve chvili, kdy bude server chtit (do te doby tam muze byt treba chybova
odpoved informujici, ze server ceka na dalsi hrace - nejspis HTTP 423
Locked (WebDAV; RFC 4918), ale tohle rozsireni specky jsem necetl, jen
podle nazvu mi to prijde nejbliz)
Maly priklad zde:
http://restcookbook.com/Resources/asynchroneous-operations/
Honza
2015-09-11 10:47 GMT+02:00 Ales Zoulek <ales.zoulek na gmail.com>:
> Ahoj,
>
> jednotlivy hraci se budou nejak ovlinovat? (Napr pokud robot R1 stoji na
> poli 3,4 nemuze na nej R2)
>
> Pokud ne, proc proste kazdy student nekomunikuje se serverem samostatne
> podle, server si vsechny tahy nahraje zobrazi vysledky az kdyz vsichni
> tudenti poslou sve tahy?
>
> Pokud ale opravdu musi vsechny tahy synchronisovat, pak bych rekl, ze
> implementacne bude lehci 2). Tak jak tak se zda rozumny, aby studenti
> nepsali vlastniho rest klienta a dostali se zadanim i malou knihovnu, ktera
> s tim flaskem komunikuje.
>
> A.
>
> On Fri, Sep 11, 2015 at 10:40 AM Petr Messner <petr.messner na gmail.com>
> wrote:
>
>> Na tohle se hodí websocket, lze to provozovat i ve Flasku. Nebo rovnou
>> použit něco jiného, např. ZeroMQ.
>>
>> Petr Messner
>>
>> 11. 9. 2015 v 10:29, Marek Nožka <marek na tlapicka.net>:
>>
>> > 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, který projde bludištěm podle zadaných pravidel.
>> >
>> > Na serverovou část jsem chtěl použít Flask a vytvořit jednoduché REST
>> API.
>> > Řeším ale jak mám obsloužit více klientů tak, aby na sebe navzájem
>> počkali.
>> > Každý klient by měl říct, kam táhne. Ale odpověď můžu poslat až potom,
>> co
>> > všichni pošlou požadavek. Napadli mě dvě řešení.
>> >
>> > 1) Klient pošle požadavek a čeká na odpověď. Stream odpovědi se ale
>> zastaví
>> > a čeká se až se ozvou další klienti. Tohle nevím jak bych ve Flasku
>> > udělal -- pokud to tedy vůbec jde. Pokoušel jsem se to vygooglit ale
>> na
>> > nic kloudného jsem nepřišel.
>> >
>> > 2) Klient pošle požadavek a za nějakou chvilku se zeptá jestli má
>> > server už odpověď. To je zase více složitosti na straně klienta.
>> >
>> > Protože jsem nic podobného zatím nikdy nedělal, budu vděčný za každou
>> > připomínku, poznámku nebo radu. Co za knihovnu/framework byste mi
>> > doporučovali.
>> >
>> > Dííííky
>> > Marek
>> >
>> > --
>> > @ @ @ Marek Nožka
>> > '****.@
>> > :*****`@ email: marek <@t> tlapicka <d.t> net
>> > `*****' jabber: tlapicka <@t> mitranet <d.t> cz
>> > :****: web: http://tlapicka.net/
>> > `****'
>> > `****' Powered by Debian GNU/Linux
>> > `.**'
>> > ¨¨
>> > _______________________________________________
>> > Python mailing list
>> > python na py.cz
>> > http://www.py.cz/mailman/listinfo/python
>> >
>> > Visit: http://www.py.cz
>> _______________________________________________
>> Python mailing list
>> python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20150911/0a057a64/attachment.html>
Další informace o konferenci Python