9. praktikum - Võrgunduse alused (itv0020)

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