About this project
it-programming / web-development
Open
Necesito de una aplicación para un servidor, que pueda recibir y enviar información a/de diferentes tipos de clientes (celulares o módulos wifi), y pueda redirigir a ésta entre ellos según un paquete de información que contiene a quien se le debe enviar o de quien proviene. El software para los celulares como para los módulos wifi o aplicaciones con módulos GSM ya están desarrollados.
En un proyecto inicial, no se necesita que el servidor mantenga ningún acceso ni control con un operador que actúe sobre ella o la modifique.
El concepto es mantener una base de datos de la IP pública y puerta de comunicación que tengan los dispositivos clientes activos en los momentos que están “conectados” y que ante un comando enviado desde determinado origen pueda redirigirse inmediatamente a su destino solicitado.
Debido a que los dispositivos que componen esta “red” pueden cambiar su IP cada vez que lo inicializan, es necesario mantener actualizado esa “ubicación” y ante un cambio en ese valor se enviará una petición al servidor para que mantenga esta función de nexo entre clientes.
La utilización de numero de imei para los celulares o códigos especiales en los módulos wifi serán los que contengan la id necesaria para ubicarlos en la base (mysql). No es necesario mantener estadísticas ni bases de datos sobre el uso que tenga el sistema.
Resumiendo, cualquier cliente de la red que se quiere comunicar con otro cliente (sean cualquiera de ellos un celular o modulo wifi) para pasarle un comando (string), usará al servidor como nexo de ubicación del destino solicitado y no debe esperar que haya constantes peticiones de cada cliente para hacerle saber que hay “algo” para otros clientes.
Salvo para cuando cambie su ip, cuando se conecte mediante un heart beat (para indicar que está conectado a la red), cuando se produzcan eventos en el módulo o que se quiera enviar un comando de programación o solicitud de estado destinado a otro cliente, no habrá peticiones periódicas al servidor. En este caso se redirigirá inmediatamente (y en forma transparente), el comando en que se especifica al destino especificado.
Además cualquier cliente podrá enviar una petición al servidor para “conocer” si determinado cliente de la red está activo y poder actualizar sus datos internos y determinar si debe “encolar” información mientras no pueda hacerle llegar un determinado comando. Una vez recibido que si está disponible, enviará una serie de strings con toda la información que tenía pendiente para que se “distribuya” según coresponda .
Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have the design
Required availability As needed
Roles needed Developer
Delivery term: Not specified
Skills needed