7. praktikum - Võrgundus
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 HTTP päring (nagu all näidatud) ja näidake vastu saadetav info 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
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
Ära unusta, et pordid 1-1024 on reserveeritud süsteemile ja neid kuulamiseks kasutada ei saa.