7. praktikum - Võrgundus

Allikas: Lambda

Praktikumi eesmärk on andmete üle socket'i saatmise harjutamine

Selles harjutuses kasutate funktsioone socket(), connect(), bind(), listen(), accept() ja aadressistruktuure.

Ü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.