Cita:
Originalmente publicado por gilinas
Respecto de las comunicaciones con UDP:
En este caso no existen conexiones y por lo tanto identificar al servidor y al cliente no es tan trivial como en el caso de TCP.
Al no haber conexion, el servicio de transferencia no es fiable (como lo es en el caso de TCP). Es posible que se pierdan datos.
Como contrapartida, permite la difusión de los mismos datos a varios receptores en un solo envío utilizando direcciones IP de difusión (que son de la forma a.b.c.255, a.b.255.255, ó incluso 255.255.255.255 [todos]).
Los receptores recibirán los datos si se encuentran escuchando en el puerto correspondiente.
Utilización mediante kplex:
Para salida de datos
[broadcast]
direction=out
device=<interface>
address=<address>
port=<port>
<interface> será (wlan0 ó eth0) el interface de red por el que se transmitirán los datos.
<address> es la dirección IP de difusión
<port> es el puerto donde deben estar escuchando los receptores (si no, ellos se lo pierden)
Para entrada de datos
[broadcast]
direction=in
port=<port>
cuantas menos restricciones mejor, así recibiremos todo lo que llegue por el puerto especificado en cualquiera de los interfaces de red y para cualquier dirección de difusión que nos incluya.
Para entrada/salida de datos
[broadcast]
direction=both
device=<interface>
address=<address>
port=<port>
Creo que para este caso es mejor defnir uno de entrada y otro de salida, ya que direction=both nos restringe el tráfico de entrada a la interface especificada y además solo recibiremos el tráfico dirigido a la dirección de difusión especificada.
|
esta mañana hemos trasteado algo Diavolo y yo acerca del tema de enviar datos AIS a servidores como Marinettrafic o shippingexplorer.
Hay que añadir que hemos logrado enviar datos con éxito a Marinettrafic a través de una conexión tcp.
Pero con shippingexplorer no ha sido posible. Con una conexión tcp no funciona y hemos intentado con una UDP [broadcast] pero no hemos terminado de aclararnos.
Lo que mas me machaca es que los de shippingexplorer nos dan un puerto y una dirección como si fuera una conexión tipo tcp, pero al intentar configurar kplex como broadcast no acepta la direccion que nos dan si no que parece exigir una dirección bcast interna tipo X.X.X.255.
Si ponemos la interna bien sea 255.255.255.255 o 192.168.1.255, no tira error pero los datos no llegan. Y si ponemos la que ellos nos dan kplex da error y se niega a trabajar.
Lo hemos intentado tanto como usuario normal como administrador.
¿Que se nos escapa?
¿Nos podríais aclarar algo de esto?
¿O es que las conexiones de kplex de tipo UDP solo funcionan en la red interna?