Socket UDP en Raspberry con Python

En las redes informáticas, el Protocolo de datagramas de usuario (UDP) es uno de los miembros principales del conjunto de protocolos de Internet. Con UDP, las aplicaciones informáticas pueden enviar mensajes, en este caso denominados datagramas, a otros hosts en una red de Protocolo de Internet (IP).

UDP es adecuado para fines en los que la verificación y corrección de errores no son necesarias o se realizan en la aplicación. Los host no tienen diálogos de negociación de comunicación y, por lo tanto, no hay garantía de entrega de mensajes, los datagramas pueden llegar o perderse en la red, así como también llegar en un orden diferente al orden en que salieron del host emisor del mensaje.

Si se necesitan funciones de corrección de errores en el nivel de interfaz de red, una aplicación debería usar el Protocolo de control de transmisión (TCP) o el Protocolo de transmisión de control de flujo (SCTP), que están diseñados para este propósito.

Socket UDP en Python

En Python existe una librería que implementa el protocolo de comunicación UDP llamada «socket», ésta puede utilizarse para darle la función de transmitir o recibir datagramas a cualquier host que pueda ejecutar el script de Python, por ejemplo una computadora o una raspberry pi. El script que ejecuta la raspberry del video se presenta a continuación:

Script de Python para recepción de datagramas

import socket
    
#UDP_IP = "172.29.30.191"
UDP_IP = "fe80::40cf:53b1:63e1:5025%14"
UDP_PORT = 5454

#sock = socket.socket(socket.AF_INET, # Internet
#                  socket.SOCK_DGRAM) # UDP

sock = socket.socket(socket.AF_INET6, # Internet
                  socket.SOCK_DGRAM) # UDP

sock.bind((UDP_IP, UDP_PORT))
#sock.connect((UDP_IP, UDP_PORT))  
print "Antes del while"
while 1:
    print sock.recv(30)
    #data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    #print data

Envío de datagramas desde un iphone

Existen aplicaciones que implementan transmisores o receptores de UDP tanto en la App Store para iphones como en la Play Store para teléfonos con sistema operativo Android.

Ejemplo de aplicaciones para Iphone:

https://apps.apple.com/us/app/packet-sender-udp-tcp-ssl/id1558236648

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo no será publicada.


*