tkbd

Screenshot Software:
tkbd
Mga detalye ng Software:
Bersyon: 0.3.5
I-upload ang petsa: 14 Apr 15
Nag-develop: Bas Westerbaan
Lisensya: Libre
Katanyagan: 8

Rating: nan/5 (Total Votes: 0)

tkbd ay isang demonyo run sa mga guro ng agham ng Radboud University Nijmegen para magparehistro na lab na computer na PC ay libre at na kinunan.
tkb.js ay isang frontend.
Paano ito gumagana
Nakaimbak Impormasyon
tkbd nagpapanatili ng tatlong piraso ng impormasyon. Tingnan state.py.
1. hanapbuhay o trabaho: para sa bawat PC kasalukuyan nitong estado, na kung saan ay alinman sa:
& Nbsp; o PC ay turend off
& Nbsp; x PC ay nasa isang hindi kilalang estado
& Nbsp; .wf PC ay libre at boot sa Windows
& Nbsp; LF PC ay libre at boot sa Linux
& Nbsp; Wu PC ay ginagamit at boot sa Windows
& Nbsp; lu PC ay ginagamit at boot sa Linux
& Nbsp; wx PC ay boot sa Windows, ngunit hindi namin alam kung ito ay ginagamit
& Nbsp; lx PC ay boot sa Linux, ngunit hindi namin alam kung ito ay ginagamit
2. roomMap: isang listahan ng mga kuwarto at ang PC sa loob nito.
3. iskedyul: para sa bawat kuwarto, ang mga posibleng mga reservation na ito.
Pinagmulan ng impormasyon
Kapag ang mga tao mag-log in at out sa mga computer, ito ay naka-log. Nanonood ng isang script na ang log at tinutulak ng mga pagbabago sa tkbd sa pamamagitan ng mga kahilingan ng HTTP sa port 1235. Tingnan cnczPush.py.
Pangalawa, isa pang script pana-panahong mga poll ang lahat ng mga PC. Ang mga resulta ng pag-scan ay matutulak din sa port 1235.
Ang iskedyul ay nakuha mula sa (Ruuster) [http://ruuster.nl]. Tingnan ruuster.py.
Paano i-access
Joyce
tkbd ay gumagamit ng isang pandalawang direksyong JSON mensahe pakikipagpalitan protocol sa paglipas ng HTTP tinatawag Joyce. Ang isang client ay maaaring lumikha ng maraming mga channel sa server. Sa bawat isa sa mga channel na ito, ang server at ang client ay maaaring magpadala ng mga mensahe sa eachother.
- Upang lumikha ng isang channel, magpadala ng kahilingan ng HTTP GET sa server para sa / m = null?. Ang server Wil tumugon kasama ang isang array [, , ]. token ay naglalaman ng token na nakatalaga sa channel na ito. mga mensahe ay isang listahan ng mensahe ang server ay magpadala. stream ay hindi mahalaga para sa tkbd.
- Matapos ito, dapat kang magpadala ng isa pang kahilingan ng HTTP GET sa server. Ang oras para sa /? M = []. Oras na ito ay maaaring hindi ang server na tumugon kaagad. Kapag mayroong isang mensahe (o pagkatapos ng pag-timeout), ang server ay tumugon sa isang katulad na array [, , ].
- Upang magpadala ng isang listahan ng mga mensahe mensahe, magpadala ng kahilingan ng HTTP GET sa server para sa / m = [, ]?. Ngayon ay mayroong dalawang natitirang mga kahilingan ng HTTP. Ang isa upang magpadala ng mga mensaheng ito at isa pa upang matanggap. Ang isa sa mga dalawang ay tumugon sa agad. Ang iba pang ay mananatiling bukas makatanggap ng mga mensahe.
Kaya, ano ang ginagawa ng mga mensahe tkbd magpadala at tkbd paggusto matanggap?
Mga mensaheng ipinadala ng tkbd
Ang bawat mensahe na ipinadala sa pamamagitan ng tkbd ay isa sa mga sumusunod. Tingnan cometApi.py.
1. {"type": "maligayang pagdating", "protocol": [0]}
& Nbsp; Ito ang unang mensahe na ipinadala. Sinasabi dito kung aling mga protocol naiintindihan tkbd. Sa kasalukuyan, mayroon lamang protocol: 0.
2. {"type": "trabaho", "bersyon": , "trabaho": }
& Nbsp; Ito ay isa sa mga unang mga mensaheng ipinadala. Ito ay naglalaman ang kasalukuyang trabaho ng PC. trabaho ay isang diksyunaryo na may bilang mga pindutan pangalan ng mga PC at pati na halaga ang estado ng kaukulang PC.
3. {"type": "roomMap", "bersyon": , "roomMap": }
& Nbsp; Ito ay isa sa mga unang mga mensaheng ipinadala. roomMap ay isang diksyunaryo na may bilang mga pindutan pangalan ng mga kuwarto at bilang pinahahalagahan ang katumbas na listahan ng PC sa kuwartong iyon.
4. {"type": "iskedyul", "bersyon": , "iskedyul": }
& Nbsp; Ito ay isa sa mga unang mga mensaheng ipinadala. iskedyul ay isang diksyunaryo na may bilang mga pindutan pangalan ng mga kuwarto at bilang pinahahalagahan ang katumbas na iskedyul ng room na iyon. Ang isang iskedyul ng isang silid ay isang listahan ng mga kaganapan. Ang isang kaganapan ay isang listahan na may tatlong elemento: ang unang elemento ay ang panimulang oras; ang ikalawa ay ang oras na nagtatapos at ang ikatlong ay isang decription ng kaganapan.
5. {"type": "occupation_update", "bersyon": , "i-update": <-update>}
& Nbsp; Ang mensaheng ito ay ipinadala, kapag ang trabaho ng isa o higit pang mga pagbabago sa mga PC. -update ay isang diksyunaryo sa bilang ng mga pangalan key PC at pati na pinapahalagahan ng mga bagong kalagayan ng kaukulang PC.
Sa bawat pag-update ng trabaho, roomMap o iskedyul, ang katumbas na bersyon ay incremented sa pamamagitan ng isa. Ang isang client ay dapat na suriin kung ito ay maaaring hindi inaabot ng isang update. At kung gayon, muling i-synchronize sa pamamagitan ng paggamit ng isa sa mga sumusunod.
Ang mga mensahe na natanggap sa pamamagitan ng tkbd
1. {"type": "get_occupation"}
& Nbsp; Kapag natanggap, ang server ay magpapadala sa pagbabalik ng mensahe ng okupasyon.
2. {"type": "get_roomMap"}
& Nbsp; Kapag natanggap, ang server ay magpapadala sa pagbabalik ng isang mensahe roomMap.
Paano i-install ito
Ang pinakasimpleng paraan upang i-install tkbd ay upang tumakbo
& Nbsp; easy_install tkbd
easy_install ay isang bahagi ng setuptools Python iyon. (Sa Debian, subukan ang apt-get-install ang python-setuptools).
Paano upang patakbuhin ito
Upang magpatakbo, gawin lamang:
& Nbsp; mirte tkbd / setup / default
Ito ay tatakbo ang default na pag-set up ng tkbd. Para sa mga pagbabago sa trabaho ito ay pakikinig sa port 1235. Ito ay hindi kapaki-pakinabang kung hindi ikaw ang IT guys ng guro.
Maaari mong i-configure ang tkbd-mirror ang isa pang tkbd halimbawa. Upang i-mirror ang default na tk.science.ru.nl, patakbuhin lamang:
& Nbsp; mirte tkbd / setup / alipin
Upang lumikha ng isang pasadyang configuration, kopyahin at i-edit ang isa sa mga .mirte file sa src / mga setup

Ano ang bagong sa paglabas:.

  • Suporta para sa pag-mirror
  • Ayusin ang ilang mga bug

Mga Kinakailangan :

  • Python

Iba pang mga software developer ng Bas Westerbaan

pachy
pachy

20 Feb 15

ftldat
ftldat

20 Feb 15

Mga komento sa tkbd

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!