Open In App

Datagram in Python

Datagram is a type of wireless communication between two endpoints and it requires the ip address and port number to establish connection. Datagram uses UDP(User Datagram Protocol), it converts user data into small packets or chunks of data so that it can be sent over a network in a continuous manner. In UDP type of connection data packets have no records at the sender’s end, it just sends by the user then it’s upon receiver that it wants to accept data packets or not. UDP type of connection we use in video conferencing or in video calls.

Let’s learn how to send some data on localhost network and receive the same data as a receiver on the same machine to demonstrate the use of datagram.



To know the IP configurations of your computer, use this command on terminal:

ipconfig

Code #1: For sender’s end.






# importing socket module
import socket
  
UDP_IP = "localhost"
UDP_PORT = 8080
MESSAGE = "GeeksforGeeks"
  
print ("message:", MESSAGE)
  
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(bytes(MESSAGE, "utf-8"), (UDP_IP, UDP_PORT))

Output:

message: Geeksforgeeks

Explanation:

Step #2: At the receiver’s end.




# importing socket module
import socket
  
UDP_IP = "localhost"
UDP_PORT = 8080
  
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
  
while True:
    # buffer size is 1024 bytes
    data, addr = sock.recvfrom(1024
    print ("Received message:", data)

Output:

Received Message: b'Geeksforgeeks'

Explanation:


Article Tags :