Protocoale de transmisie sigura

Se cere implementarea unui protocol de transmisie sigura (cu confirmare de primire si retransmiteri).

Se vor scrie doua programe, un emitator si un receptor. Emitatorul va citi un text dintr-un fisier si-l va trimite linie cu linie, fiecare linie fiind plasata intr-un alt pachet. Emitatorul trebuie sa retrimita pachetele neconfirmate. Lungimea maxima admisa a unei linii este de 100 caractere.

Formatul exact al pachetelor este la alegerea voastra. Evident, va trebui sa prevedeti in pachete un camp cu rol de numar de secventa, precum si loc pentru datele utile.

Receptorul va receptiona pachetele, le va confirma dupa caz si va extrage informatia utila, conform formatului ales de voi. Informatia utila va fi pusa intr-un fisier.

Pentru transmiterea efectiva a pachetelor se vor folosi functiile din biblioteca pusa la dispozitia voastra in fisierele llcomm.h (header-ul c++) si llcomm.o (modulul obiect); la nevoie puteti recompila fisierul obiect din sursa llcomm.cpp. Aceasta biblioteca simuleaza transmiterea, cu pierderi, a pachetelor la nivel coborat. Atentie: nu utilizati direct functii socket in nici unul dintre programe.

Biblioteca se va folosi astfel:

Pentru ilustrarea utilizarii bibliotecii sunt date programele source.cpp si dest.cpp. Atentie: programele acestea doar ilustreaza functiile de biblioteca, nu sunt date ca exemplu de rezolvare corecta a cerintei problemei.