Vorgurakendused 2 prax 1

Allikas: Lambda
Redaktsioon seisuga 9. september 2009, kell 17:26 kasutajalt Tammet (arutelu | kaastöö)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribale Mine otsikasti


Ülesandeks on ehitada chatirakendus , mis leiab teisi kasutajaid ise tehtud P2P mehhanismi abil. Fookus ongi teiste kasutajate leidmisel, mitte niivõrd mugava chati tegemisel.


Mis info peab rakendusel olema ja kuidas ta tegutseb:

   

  - mul omal on fail nimi/ip paaridega

      

          tanel pikkid1 255.55.22.222 optionaalne timestamp

          tanel  pikkid2 255.55.22.221

          peeter pikkid3 223.333.44.222 optionaalne timestamp 



  - nime registreerimine (yhekordne)

  

     - minu masin saadab minu nime ja ip igalepoole ja 

       need saadavad edasi ja need saadavad jalle edasi

       ja kui keegi leiab et on, siis saadab mulle teate,

       et juba hoivatud





  - nullosa: login sisse, annan oma nime

  

    - minu rakendus saadab koigile/osale teada ip-dele

      minu nime ja pika id ip ja nemad updatevad oma tabeli    

  

  - esimene osa: kasutaja otsimine, kellega suhelda

        

    - kirjutan nime:

    

      - omal olla fail nimi/ip paaridega

      

          tanel 255.55.22.222

          peeter 223.333.44.222 

          

        - kui siin on, siis ok

        

      - tahaks teiste masinatest haarata

      

        - kysin tabelit teiste masinatest (kasutades

          minu failis olevaid ip-sid)

          

        - kui teine masin kaib, saadab lihtsalt faili

        - kui ma leian tabelist nime, korras, katkestan

        - kui ma lopuks ei leia, siis kaks varianti: 

            - otsin ise uuelt ringilt ip-delt, mis sain

            - saadan koigile oma faili ip-dele info, et

              nemad otsiks mulle 

          

      

    

    - tulemus oleks (vahemalt) tema ip teadasaamine

  

  

  - teine osa: traditsiooniline rakendus, mis saadab

    teksti teistele

  

Millist protokolli ja eeldusi rakendus kasutab:


  algul vaikimisi port on 6666

  

  nime olemasolu kysimine

  

  http://11.22.33.44:PORT/chat/findname?name=NIMI&myip=22.22.33.44:6666&ttl=TIMETOLIVE

  vastust ignoreeritakse

  

  vastuse postitamine:

  

  http://11.22.33.44:PORT/chat/sendname?name=NIMI&ip=22.22.33.44:6666&ttl=TIMETOLIVE

  sisu ignoreeritakse       

  

  minu nime/ip teatamine sama kui eelmine

  

  http://11.22.33.44:PORT/chat/sendname?name=NIMI&ip=22.22.33.44:6666&ttl=TIMETOLIVE

  

  

  nimed/ipd faili kysimine

  

  http://11.22.33.44:PORT/chat/asknames?ttl=TIMETOLIVE

  

  vastus ka: fail ise

  

  [

  ["Tanel Tammet","22.33.44.55:6666"]

  ["Peeter Laud","22.33.44.11:6666"]

  ]

  

  http://11.22.33.44:PORT/chat/sendmessage?myname=tanel&myip=22.33.44.55:6666&message=asasas