Enviando archivo hexadecimal sobre UDP usando sockets

0

Estoy trabajando con Sockets IPv6 y UDP utilizando python-2.7 . Me estoy enfocando particularmente en Multidifusión IPv6 ff02::1 donde cada dispositivo de dirección de enlace local (con fe80:: ) responde a las consultas de una entidad del servidor central.

Tengo microcontroladores conectados a estos dispositivos que necesitan un programa en forma de .ihex ( Intel Hex ). Un fragmento del archivo es el siguiente:

:103100005542200135D0085A8245381131400031EE
:103110003F4002000F9308249242381120012F8370
:103120009F4F1E390011F8233F4036000F930724AC

Creo que la forma de hacerlo es usando struct y usando funciones como pack y unpack pero no estoy seguro de si enviar tal ihex archivo que está en el tamaño de unos pocos Kbs Resolvería el propósito.

¿Puedo hacer algo como:

#!/usr/bin/env python

from struct import pack, unpack
import socket
.   # Create a UDP socket and Bind it..
.
myHexCode = open("Filename.ihex")
dataToSend = struct.pack('Paramaters for packing', myHexCode)
.
. Send data to socket..

¿Cuáles serán los parámetros de embalaje? (deberia hacer ! o Endian grande o pequeño > o < para el archivo hexadecimal?)

Nota

No puedo usar scp ni sftp ya que ambos protocolos funcionan en TCP y no soy compatible con Multidifusión y estoy trabajando en un entorno donde las pérdidas en la red pueden ser más altas ( Medio inalámbrico )

Shan-Desai
fuente
Si espera una gran pérdida de paquetes, ¿cómo demonios sería UDP? mejor ?
grawity
Hola, lo sé, pero esto es sólo experimental. Estoy trabajando en la difusión de código en redes inalámbricas y TCP tampoco es una opción inteligente.
Shan-Desai