Ver mensaje
  #183  
Antiguo 27-10-2014, 18:14
Avatar de Diavolo
Diavolo Diavolo esta desconectado
Capitán pirata
 
Registrado: 29-05-2008
Localización: Mediterraneo
Edad: 58
Mensajes: 503
Agradecimientos que ha otorgado: 293
Recibió 114 Agradecimientos en 85 Mensajes
Sexo:
Predeterminado SailPi Navegando con Raspberry Pi

Cita:
Originalmente publicado por gilinas Ver mensaje
Hola
He estado pensando un poco y la solución podría ser:
  1. Poner el kplex para que envíe por TCP como server
  2. hacer un programa que se conecte como cliente al TCP del kplex y que lo reenvíe por UDP a la dirección y puerto de ShippingExplore
El programa (en python) podría ser algo así:

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
lo salvas a un fichero.py (ShippingExplore.py por ejemplo)
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 ...

Ya esta instalado pero no funciona, edito: Kplex si arranca al iniciar.
El caso es que tengo abierto el puerto en casa tcp y lo configuró de la misma forma que Marinetraffic, exceptuando los filtros, y me da error kplex, me dice que no se puede conectar a la ip bme.ole32.com/5432 y no he cometido ningún error.

EDITO: SHIPPINGEXPLORER, NO FUNCIONA, al desconectarlo de casa, con el ais que tengo, deja de funcionar. A ver si instalo el nuevo moden router con Pepephone, y accedeis vosotros a la fresa, lo que si funciona es Marinetraffic con Kplex, y opencpn

Enviado desde mi iPone5 con TaPaTa
__________________
MMSI: 205907310
Callsign: OR9073

Editado por Diavolo en 27-10-2014 a las 20:49.
Citar y responder