Vorgurakendused 2 prax 1
Ü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