9. praktikum - Võrgunduse alused (itv0020)
Praktikumi eesmärk on andmete üle socket'i saatmise harjutamine
Selles harjutuses kasutate funktsioone socket(), connect(), bind(), listen(), accept() ja aadressistruktuure.
Sisukord
Ülesanne
Ülesandeid on kaks
Ühendumine
Kirjuta programm, mis püüab ühenduda argumendis antud masinaga ettekirjutatud pordil nii, et järgmine käsk:
connect www.lambda.ee 80
ühenduks www.lambda.ee masinaga pordil 80. Kirjutage sinna "Hello, Networld\n\n" või (soovitatavalt HTTP päring nagu all näidatud) ja näidake tulemus ekraanil. Lõpetage töö, kui ühendus katkeb.
HTTP päringu näide (sobib lambda.ee jaoks).:
GET /index.php/Esileht HTTP/1.0
NB! Oluline on lisada kaks reavahetust!
Kuulamine
NB dijkstra nc kuulamise osas praegu katki, aga seda programmi saate kirjutada...
Kirjuta miniserver, mis näitab ekraanile võrgust tulevad andmed. Käsurida:
listen 3333
kuulab pordil 3333 ja näitab sissetulevad ühendused ekraanile.
Kui ühendus saabub, näita ühenduva poole aadressi, seejärel andmeid kuni ühendus suletakse.
Vihjeid
Oma programmi testimiseks kasuta ühendumiseks ja kuulamiseks programmi netcat:
nc www.lambda.ee 80 nc -l 8080 # see ei tööta praegu
Ära unusta, et pordid 1-1024 on reserveeritud süsteemile ja neid kuulamiseks kasutada ei saa.