उपयोगकर्ता डेटाग्राम प्रोटोकॉल या यूडीपी प्रोटोकॉल का उपयोग करके डेटा के टुकड़े क्लाइंट और सर्वर के बीच स्थानांतरित होते हैं। संचार स्थापित करने के लिए दो संचार समापन बिंदुओं को आईपी पते और पोर्ट नंबर की आवश्यकता होती है। एक समापन बिंदु को प्रेषक के रूप में जाना जाता है और दूसरे को रिसीवर के रूप में जाना जाता है। इस प्रोटोकॉल में, प्रेषक भेजे गए पैकेट का ट्रैक नहीं रखता है और यह रिसीवर पर निर्भर करता है कि वह सभी पैकेटों को स्वीकार करे या नहीं।
प्रेषक कार्यक्रम
नीचे दिया गया पायथन प्रोग्राम प्रेषक के प्रोग्राम को बनाने के लिए सॉकेट मॉड्यूल का उपयोग करता है। हम आईपी पते और पोर्ट के लिए चर घोषित करते हैं। फिर इसमें एक संदेश जोड़ें। Sendto () का उपयोग संदेश को IP पते और पोर्ट नंबर के साथ संयोजित करने के लिए किया जाता है।
उदाहरण
import socket
UDP_IP = "localhost"
UDP_PORT = 5050
MESSAGE = "Hello UDP! "
print ("Sent Message: ", MESSAGE)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(bytes(MESSAGE, "utf-8"), (UDP_IP, UDP_PORT)) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Sent Message: Hello UDP!
रिसीवर प्रोग्राम
इसी तरह, हम रिसीवर प्रोग्राम बनाते हैं जो प्रेषक प्रोग्राम द्वारा भेजे गए संदेश को प्राप्त करेगा। नीचे दिए गए प्रोग्राम में संदेश का आकार 1024 बाइट्स तक सीमित है। बाइंड () फ़ंक्शन आईपी और पोर्ट को प्राप्त होने वाले डेटा से बांधता है।
उदाहरण
import socket
UDP_IP = "localhost"
UDP_PORT = 5050
s= socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((UDP_IP, UDP_PORT))
while True:
# buffer size is 1024 bytes
data, addr = sock.recvfrom(1024)
print("Received message:", data) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Received message: Hello UDP!