Socketuri UDP/TCP

1. UDP (User Datagram Protocol)

Este unul protocol simplu de comunicatie in Internet. De retinut este faptul ca in mecanismul de transmitere a datelor folosind acest protocol nu se tine cont de siguranta datelor, nu ofera control al pachetelor. Astfel un pachet trimis poate sa nu ajunga la destinatie sau daca se trimit mai multe pachete, nu se tine cont de ordinea in care au fost trimise.

 

Functiile UDP disponibile in AutoIt sunt urmatoarele:

 

a)      UDPStartup

Initializeaza serviciile UDP. Functia nu are parametri si se foloseste inainte de a folosi orice alta functie UDP.

 

b)      UDPShutdown

Opreste serviciile UDP. Functia nu are parametri si se foloseste dupa ce nu se mai apeleaza alte functii UDP.

 

c)      UDPBind

Creaza un socket pentru conexiuni de intrare. Functia are 2 parametri: adresa IP si portul. Returneaza un vector cu informatii despre conexiune.

 

d)      UDPOpen

Deschide o conexiune cu un server existent. Functia are 3 parametri: adresa IP (a serverului), portul (pe care se asteapta conexiunea la server) si optional un flag (pentru broadcast). Returneaza un vector cu informatii despre conexiune.

 

e)      UDPSend

Trimite date la un socket. Functia are 2 parametri: un vector cu informatii despre conexiune (ca si cel returnat de functia UDPOpen) si datele care se trimit. Functia returneaza numarul de bytes trimisi.

 

f)        UDPRecv

Primeste date de la un socket. Functia are 3 parametri: un vector cu informatii despre conexiune (ca si cel returnat de functia UDPBind), numarul maxim de caractere pe care sa le primeasca si optional un flag (pentru a forta functia sa returneze date binare daca flag=1 sau un vector cu informatii despre socket-ul care trimite daca flag=2; default flag=0 – detectare automata). Functia returneaza datele (sir de caractere sau binare) sau un vector cu informatii, in acord cu parametrul flag.

 

g)      UDPCloseSocket

Inchide un socket UDP. Are un singur parametru: un vector cu informatiile despre conexiune.

 

Nota: mai multe informatii despre acest protocol gasiti aici.

 

Un exemplu de server simplu:

 

Si un client la fel de simplu:

Nota: serverul este un script si clientul alt script; rulati serverul si apoi clientul pentru a vedea rezultatul.

 

 

2. TCP (Transmission Control Protocol)

Este un protocol de comunicatie in Internet dar spre deosebire de UDP are mai mult control asupra datelor. Astfel ordinea de trimitere/primire a pachetelor, integritatea datelor si alte mecanisme functionale au o importanta mult mai mare si ofera o serie de beneficii.

 

Functiile TCP disponibile in AutoIt sunt urmatoarele:

 

a)      TCPStartup

Initializeaza serviciile TCP. Functia nu are parametri si se foloseste inainte de a folosi orice alta functie TCP.

 

b)      TCPShutdown

Opreste serviciile TCP. Functia nu are parametri si se foloseste dupa ce nu se mai apeleaza alte functii TCP.

 

c)      TCPListen

Creaza un socket care asteapta conexiuni de intrare. Functia are 3 parametri: adresa IP, portul si optional numarul maxim de conexiuni in asteptare. Functia returneaza identificatorul socketului.

 

d)      TCPAccept

Permite o conexiune la server. Functia are ca parametru identificatorul socket-ului principal, returnat de functia TCPListen. Returneaza identificatorul socketului conectat.

 

e)      TCPConnect

Creaza un socket conectat la un server existent. Functia are 2 parametri: adresa IP si portul pe care se asteapta conexiunea la server. Functia returneaza identificatorul socketului.

 

f)        TCPSend

Trimite date la un socket conectat. Functia are 2 parametri: identificatorul socketului si datele care se trimit. Returneaza numarul de bytes trimisi.

 

g)      TCPRecv

Primeste date de la un socket conectat. Functia are 3 parametri: identificatorul socketului, numarul maxim de caractere care se primesc si optional un flag care specifica daca datele returnate vor fi un sir de caractere sau date binare. Functia va returna rezultatul in acord cu parametrul flag (default flag = 0 – detectare automata).

 

h)      TCPCloseSocket

Inchide un socket TCP. Are ca parametru identificatorul socketului. In caz de succes functia returneaza valoarea 1.

 

i)        TCPNameToIP

Converteste o adresa internet in adresa IP. Are ca parametru un sir de caractere care contine adresa internet. Returneaza adresa IP corespunzatoare.

 

Nota: mai multe informatii despre acest protocol gasiti aici.

 

Un exemplu de server simplu:

 

Si un client la fel de simplu:

Nota: serverul este un script si clientul alt script; rulati serverul si apoi clientul pentru a vedea rezultatul.


* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.