Respecto a crear multiples puertos para cada dato, No hace falta... Voy a guiarme por el primer link que pasaste.
El cliente es el que envia los datos... y lo hace aca:
sock.sendto("Voltios:% .2f" % Va, (UDP_IP, UDP_PORT))
Escrito de otra forma:
sock.sendto ( string_a_enviar , direccion_a_enviar(port y ip))Observaras que envia un string que es "Voltios: %.2f" donde la variable es Va, y lo hace a traves de UDP a ese puerto e IP. Supongamos que enviaste "Voltios: 1.25"
Luego tu servidor:
data, addr = sock.recvfrom(1024)
label.config(text = data)
Recibe con la primer linea, un buffer de un maximo de hasta 1024 caracteres. es decir el buffer de entrada tiene el string "Voltios: 1.25", y da como resultado un par de datos:
- data ( el contenido del buffer )
- addr desde donde se envia la informacion ( IP del cliente ).
Luego en la segunda linea, lo que hace es cambiarle el texto al "label" (a la etiqueta) es decir lo que se muestra en la pantalla, Lo cual ese string "Voltios: 1.25" lo pone en el label y eso es lo que vos estas viendo.
Luego llama de nuevo a esa funcion para pedir de nuevo los datos.
Si quisieras enviar varias cosas, podrias crear un string y enviarlo... Suponete algo asi:
Voltio = 2
Temperatura = 5
Humedad = 90
'''
Creo el string
'''
str_a_enviar = "Voltio: %.2f Temp: %.2f Hum : %.2f" % (Voltio, Temperatura, Humedad)
'''
Y ahora envio el string ese
'''
sock.sendto( str_a_enviar, (UDP_IP, UDP_PORT))
Si cambias eso en tu cliente, sin cambiar el servidor, verias algo asi en el label ( o lo que es igual a lo que llega del servidor ):
Voltio: 2.00 Temp: 5.00 Hum : 90.00
O tambien incluso podes enviar los datos separados por un caracter, supongamos el '-' y la string quedaria:
2.00-5.00-90.00
La cual vos sabes el orden y podes separarlo con un str_recibida.split('-') lo que te devolveria una lista ["2.00","5.00","90.00"]
En fin, tus decisiones a partir de aca.
Obviamente podes encontrar la info de la API en la web, sobre los sockets/split/etc
Python 2.7
https://docs.python.org/2/library/socket.htmlPython 3.5
https://docs.python.org/3/library/socket.html