comunicaciones asÃncronas con socket tcp/ip
Hola a todos:
Tengo un problema que me tiene loco:
Actualmente tengo funcionando un sistema de captura de datos a través de tcp/ip operando como cliente/servidor. El servidor es un server socket que tiene la capacidad de atender a múltiples clientes (modems GPRS) lo cuales envÃan mensajes permanentemente al servidor.
Menciono que los procesos clientes corresponden a modems para dejar en claro que no tengo mucho control sobre esos procesos. Lo único que tengo claro es que dichos modems establecen la comunicación con mi aplicación servidora para enviarme datos, pero también tiene la capacidad de recibir mensajes (comandos) para que sean configurados.
Y ahà empieza mi problema, pues los comandos deben ser enviados por una aplicación web, especÃficamente un servlet.
Lo que hice fue lo siguiente:
Por cada thread de comunucación que se genera entre un cliente (modem) y mi servidor (no olvidar que puedo tener múltiples modems conectados a mi servidor), creo un nuevo escuchador (otro servidor tcp/ip) pasándole como parámetro el objeto de salida de la comunicación original (objeto "out" por ejemplo). Asà cada vez que el servlet le envÃa un mensaje al nuevo servidor, éste es capaz de enviar el comando recibido hacia el modem correspondiente mediante un out.write.
Pero......no me está funcionando. De hecho antes de que el servlet envie un comando (esto es, no interviene todavÃa) se me cierra la comunicación original entre mi servidor y el modem, cuando este último envÃa el primer mensaje.
Alguien me puede confirmar si mi idea debiera funcionar y sólo tengo un problema en la estructura de mi programa servidor? O no es posible hacer esto en la forma que lo estoy intentando?
Saludos.
Tengo un problema que me tiene loco:
Actualmente tengo funcionando un sistema de captura de datos a través de tcp/ip operando como cliente/servidor. El servidor es un server socket que tiene la capacidad de atender a múltiples clientes (modems GPRS) lo cuales envÃan mensajes permanentemente al servidor.
Menciono que los procesos clientes corresponden a modems para dejar en claro que no tengo mucho control sobre esos procesos. Lo único que tengo claro es que dichos modems establecen la comunicación con mi aplicación servidora para enviarme datos, pero también tiene la capacidad de recibir mensajes (comandos) para que sean configurados.
Y ahà empieza mi problema, pues los comandos deben ser enviados por una aplicación web, especÃficamente un servlet.
Lo que hice fue lo siguiente:
Por cada thread de comunucación que se genera entre un cliente (modem) y mi servidor (no olvidar que puedo tener múltiples modems conectados a mi servidor), creo un nuevo escuchador (otro servidor tcp/ip) pasándole como parámetro el objeto de salida de la comunicación original (objeto "out" por ejemplo). Asà cada vez que el servlet le envÃa un mensaje al nuevo servidor, éste es capaz de enviar el comando recibido hacia el modem correspondiente mediante un out.write.
Pero......no me está funcionando. De hecho antes de que el servlet envie un comando (esto es, no interviene todavÃa) se me cierra la comunicación original entre mi servidor y el modem, cuando este último envÃa el primer mensaje.
Alguien me puede confirmar si mi idea debiera funcionar y sólo tengo un problema en la estructura de mi programa servidor? O no es posible hacer esto en la forma que lo estoy intentando?
Saludos.
Hola, sabes yo tambien estoy trabajando con sockets, y la verdad me encuentro atorado, pues no se bien como inicializar una sesion entre modems, lo unico que necesito saber es como incializo el modem desde java, espero puedas ayudarme.
atte:israel
atte:israel