Hordhac ku saabsan UDP
UDP (User Datagram Protocol) waa hab-maamuus isgaarsiineed oo fudud oo ka shaqeeya lakabka gaadiidka ee TCP/IP. Si ka duwan TCP, UDP ma dammaanad qaadayo in xogta la gaadhsiin doono ama ay gaadhi doonto si sax ah ama isku xigxig. Tani waxay ka dhigaysaa mid ku habboon codsiyada u dulqaadan kara khasaaraha xogta ama dib u dhaca.
Faa'iidooyinka UDP
- Xawaare: UDP waa ka xawaare badan yahay TCP sababtoo ah ma laha madax-bannaani dheeraad ah oo la xidhiidha hubinta saxnaanta iyo isku xigxiga.
- Fudayd: UDP waa hab-maamuus fudud, taas oo ka dhigaysa mid si dhakhso leh loo hirgelin karo loona fahammi karo.
- Baahinta: UDP waxay taageertaa baahinta (broadcasting) iyo baahinta kooxeed (multicasting), taas oo faa'iido u leh codsiyada u baahan in xogta loo diro dhowr macaamiil isku mar.
Isticmaalka UDP
UDP waxaa loo isticmaalaa codsiyo badan, oo ay ku jiraan:
- Codsiyada waqtiga-dhabta ah: Sida ciyaaraha internetka iyo shirarka fiidiyowga, halkaas oo dib u dhac yar uu ka muhiimsan yahay saxnaanta xogta.
- DNS (Domain Name System): UDP waxaa loo isticmaalaa in lagu weydiiyo server-yada DNS cinwaanada IP-ga ee domain-yada.
- DHCP (Dynamic Host Configuration Protocol): UDP waxaa loo isticmaalaa in si toos ah loogu xilsaaro cinwaanada IP-ga kombuyuutarrada ku xiran shabakad.
- VoIP (Voice over IP): UDP waxaa loo isticmaalaa in lagu gudbiyo codka internetka.
Qaabdhismeedka Madaxa UDP
Madaxa UDP wuxuu ka kooban yahay 8 bytes oo kaliya:
Source Port: 2 bytes
Destination Port: 2 bytes
Length: 2 bytes
Checksum: 2 bytes
- Source Port: Dekadda laga soo diray.
- Destination Port: Dekadda loo socdo.
- Length: Dhererka guud ee madaxa UDP iyo xogta.
- Checksum: Isugeyn jeeg ah oo loo isticmaalo in lagu ogaado khaladaadka xogta.
Tusaale UDP ah oo leh Python
Tusaalahan waxaan ku tusi doonaa sida loo isticmaalo UDP adoo isticmaalaya Python:
import socket
Abuur socket UDP
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Cinwaanka server-ka iyo dekedda
server_address = ('localhost', 12345)
Fariinta loo diro server-ka
message = b'Tani waa fariin UDP!'
try:
# Dir fariinta
print('diraya {!r}'.format(message))
sent = sock.sendto(message, server_address)
# Hel jawaabta
print('sugaya in la helo')
data, server = sock.recvfrom(4096)
print('helay {!r} oo ka timid {}'.format(data, server))
finally
print('xidhaya socket-ka')
sock.close()
Koodhkani wuxuu abuuraa socket UDP, wuxuu u diraa fariin server-ka, wuxuuna sugayaa jawaab. Xusuusnow in UDP aysan dammaanad qaadayn in fariinta la gaadhsiin doono.