![]() |
|
|
|
| VHF: Canal 77 |    | ![]() |
![]() |
![]() |
![]() |
![]() |
|
#11
|
||||
|
||||
|
Cita:
He estado pensando un poco y la solución podría ser:
Código:
#!/usr/bin/python
import socket
import argparse
parser = argparse.ArgumentParser(description='Reenvia por UDP lo que recibe por TCP')
parser.add_argument('UDPhost',
help='host destino del UDP')
parser.add_argument('UDPport', type=int,
help='puerto UDP')
parser.add_argument('--TCPhost', default='localhost',
help='host fuente TCP (localhost por defecto)')
parser.add_argument('--TCPport', type=int, default=10110,
help='puerto TCP (10110 por defecto)')
args = parser.parse_args()
tcps = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcps.connect((args.TCPhost, args.TCPport))
tcpin=tcps.makefile()
udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while 1:
lineaNMEA=tcpin.readline()
udps.sendto(lineaNMEA, (args.UDPhost, args.UDPport))
tcpin.close
tcps.close
udps.close
y lo invocas como: >python ShippingExplore.py UDPhost UDPport donde: UDPhost es el servidor de ShippingExplore y UDPport el puerto de ShippingExplore El programa supone por defecto que puede conectarse a kplex en localhost y el puerto 10110, si no es así, admite cambiarlos con --TCPhost <dirección_servidor_TCP> --TCPport <puerto_servidor_UDP> Espero que te sirva ![]() ![]() Se podría mejorar añadiendo gestión de excepciones ...
__________________
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ El mar es de TODOS. Lo que es de TODOS, NO ES MÍO. "No hay nada como el MAR"![]() Tinico N'Hielo
|
| 2 Cofrades agradecieron a gilinas este mensaje: | ||
Diavolo (27-10-2014) | ||
|
|