Retele de calculatoare

Imagine preview
(7/10 din 1 vot)

Acest proiect trateaza Retele de calculatoare.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier docx de 7 pagini .

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca. Ai nevoie de doar 4 puncte.

Domeniu: Calculatoare

Extras din document

Capitolul I:Introducere

Proiectul a fost realizat in Python si are la baza modelul client-server, bazat pe protocolul TCP.Dupa cum stim, intr-o aplicatie exista doua parti importante:partea de client care trimite cereri catre server si o parte de server care primeste cererile si raspunde la acestea.Pentru a diferentia pachetele pentru fiecare aplicatie, protocolul TCP adauga in componenta pachetelor trimise un numar unic.Aceste numere unice se numesc port numbers sau numerele porturilor. Port numbers sau numerele porturilor sunt adresate in diferite moduri, in functie de tipul mesajului, daca acesta este o cerere sau un raspuns.Programele server au porturi alocare static, in timp ce programele client isi aloca dinamic port numbers pentru fiecare conexiune.Aplicatia a fost realizata utilizand protocolul TCP fiind formata din doua programe: programul server, care asteapta cererile clientilor si programul client, care creaza o interfata,socket, pentru a initia o conexiune cu o aplicatie de tip server. Domeniul de comunicatie utilizat este AF_INET, acesta fiind folosit pentru comunicatii intre procese aflate pe aceeasi masina sau pe masini diferite. Soket-ul creat are o adresa asociata formata din adresa IP a masinii gazda si un port(numar local gazdei respective, fiind pe 16 biti). Socket-ul utilizat este SOCK_STREAM,deoarece am folosit o conexiune TCP, conexiune bazata pe fluxuri de octeti, fiabila, cu doua sensuri, transmiterea datelor realizandu-se corect si in intregime.

In programul server am asociat socket-ul cu adresa serverului folosind metoda bind(). Apoi serverul va apela listen() pentru a plasa socketul in mod pasiv,apoi in bucla si accept(), urmand sa accepte o cerere de conectare si sa primeasca datele in portiuni mici ca ulterior sa le retransmita. In final cand nu va mai primi date,nu va mai avea ce sa retransmita si se va inchide conexiunea prin close().

Programul client foloseste acelasi tip de socket(SOCK_STREAM) si acelasi domeniu de comunicatie(AF_INET). Clientul apeleaza socket() si foloseste metoda connect() pentru a atasa socketul direct la adresa de la distanta. Dupa ce conexiunea a fost stabilita,datele pot fi transmite prin socket cu sendall() si primite cu recv(), la fel ca in server.In while,clientul apeleaza recv() pana cand nu mai sunt date de transmis. In final, dupa ce iese din bucla while, se apeleaza metoda close() si se inchide socketul creat.

Capitolul II:Program Server

1.Cod Server

import socket

import sys #ofera acces unor variabile pentru a interactiona cu interpretorul

#1.Apel socket, definire domeniu de comunicatie si conexiune TCP

socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

#2.Operatiunea bind(legare port) pentru asocierea socket-ului cu adresa serverului(Adresa este localhost, care se refera la serverul curent, iar numarul portului este 8080)

server_address=('localhost',8080);

print >>sys.stderr, 'Se conecteaza pe %s portul %s' % server_address

socket.bind(server_address)

Fisiere in arhiva (1):

  • Retele de calculatoare.docx

Alte informatii

Academia de Studii Economice, Facultatea de Cibernetică, Statistică şi Informatică Economică