PDA

Ver la Versión Completa : Aplicacion Delphi Android - DataSnap - Linux


jo3litro
09-12-2015, 22:05:20
Buenas a todos,

He desarrollado una aplicación en Android usando delphi 8, con DataSnap. Las pruebas en una lan local funcionan sin problemas.

Ahora lo que necesito es utilizar la aplicación desde cualquier red telefónica, que se conecte a mi servidor Linux y este redireccione mi petición a una maquina en donde se encuentra el servidor dataSnap.

Para ello,debo utilizar un redireccionamiento de nateo (iptables), en donde mi servidor publico recibe la petición de mi android al puerto xxx y este le direcciona a una ip dentro de mi lan privada con el puerto correspondiente.

Alguien hizo algo parecido. ? Hasta ahora no logro conectar mi aplicación. No se si mis reglas de nateo están mal o simplemente no me funcionará lo que intento hacer ya que tengo un linux de por medio. Alguien tiene algún dato o algún hilo donde pueda consultar ?

Gracias a todos..

jo3litro
09-12-2015, 22:12:40
Yo estoy intentando hacer algo parecido en linux.

La aplicación android con DataSnap se conecta a un puerto y una ip. Lo que intento hacer es que mi linux escuche este puerto y que redireccione a un windows en donde se encuentra alojado el servidor datasnap.

Se configura el iptables para ello, pero aun no he tenido resultados positivos. En teoría, mi linux al recibir petición de un puerto, este solo debería enviar la solicitud al windows con el datasnap y este le responde.

Si tengo novedades les comunicare...

Casimiro Notevi
10-12-2015, 01:17:13
Debes tener una IP fija (de internet) o usar algún servicio como noip o similar. En el router direccionas el puerto que use tu base de datos a la IP local del servidor.

Casimiro Notevi
10-12-2015, 01:21:26
No repitas preguntas por distintos hilos, céntrate en uno.
He movido el otro mensaje a este hilo.

Neftali [Germán.Estévez]
10-12-2015, 10:31:12
Una pregunta. ¿Porqué necesitas ese enrutamiento?
¿dónde está físicamente la Base de Datos? ¿En el server Windows? ¿En el Linux?

Lo digo porque el "dibujo" de esa estructura es un poco "raro". Si explicas qué es lo que necesitas tal vez haya otra solución.

jo3litro
10-12-2015, 12:25:59
La base de datos esta en un Linux.

El enrutamiento lo necesito por que el server DataSnap esta en un Windows. DataSnap no corre en un Linux.

Android necesita que el DataSnap le responda con datos. El enrutamiento se hace desde una ip publica hacia una privada. DataSnap funciona con una IP y un puerto especifico.

El linux (IP publica) debe estar oyendo ese puerto y si se le solicita datos, este debe redireccionar a un equipo en donde se encuentra el Server DataSnap.

Creo que mi problema es las en hacer las reglas de iptables que otra cosa. Estaba consultando por si alguien haya hecho algo parecido.

Neftali [Germán.Estévez]
10-12-2015, 13:46:12
Vale.
Lo digo porque esto puede ser una alternativa (http://neftali.clubdelphi.com/?p=3297), con lo que podrías realizar pruebas y "saltarte" el server Windo

jo3litro
10-12-2015, 22:11:24
Conseguí hacerlo funcionar. !! :)

Finalmente, cuando las reglas de iptables estaban listas, debi compilarlo nuevamente, ya apuntando a la ip publica en cuestión.

Gracias !

fredo
11-12-2015, 03:26:43
data snap en lo personal no me gusta, encontre una solucion mas optima ocupando los componentes de devart UNIDAC, te da conexion directa y nativamente, hace todo el trabajo de mantener estable el sistema con conexiones inestables... controla la paginacion de manera automatica y soporta todas las bases de datos para todas las plataformas sin ocuparr dlls anexas u otras como es el caso de firedac... 100% recimendado, saludos!!!