UDP socket in Python

Mattepuffo's logo
UDP socket in Python

UDP socket in Python

Oggi vediamo un semplice esempio di socket UDP in Python.

Creeremo due file, uno per il server ed uno per il client.

Il server rimarrà in attesa di una connessione e della ricezione dei dati (un messaggio in questo caso); una volta ricevuto il messaggio potrà rispondere.

Il client farà l'esatto opposto.

Nell'esempio imposteremo come IP quello del server; quindi basterà avviare il tutto sullo stesso pc, o dalla stessa rete locale.

Cominciamo con la parte server (server.py):

import socket

ip = "192.168.1.185"
port = 4444

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = (ip, port)
s.bind(server_address)
print("Ctrl+c per chiudere il server")

while True:
    print("Server in ascolto")
    data, address = s.recvfrom(4096)
    print("\n\n Server ricevuto: ", data.decode('utf-8'), "\nn")
    send_data = input("Invia messaggio => ")
    s.sendto(send_data.encode('utf-8'), address)
    print("\n\n Server inviato : ", send_data, "\n\n")

Per avviarlo:

$ python server.py

Qui sotto il client (client.py):

import socket

ip = "192.168.1.185"
port = 4444

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
print("Do Ctrl+c to exit the program !!")

while True:
    send_data = input("Invia messaggio => ")
    s.sendto(send_data.encode('utf-8'), (ip, port))
    print("\nn Client inviato: ", send_data, "\n\n")
    data, address = s.recvfrom(4096)
    print("\nn Client ricevuto: ", data.decode('utf-8'), "\n\n")

Avviatelo anche qui con il comando:

$ python client.py

Ovviamente è un esempio basico, uno spunto da cui partire.

Enjoy!


Condividi

Commentami!