Cuestion de diseño

Iniciado por Xedrox, 1 Junio 2014, 23:43 PM

0 Miembros y 1 Visitante están viendo este tema.

Xedrox

Buenas tardes!

   Les comento mi situacion. Actualmente me encuentro con un programa que funciona en mi programa local pero que necesita ejecutar una accion (enviar un comando) a un servidor remoto simil-unix, el servidor debe recibir la peticion, ejecutarla y al finalizar devolverle informacion a la pc local. Se me ocurren las siguientes soluciones, pero queria ver con ustedes cual es la mas apropiada:

- Crear un programa que se conecte via telnet, mande la orden, se quede loopeando hasta que el servidor conteste con la data necesaria y salga. El problema con esto es que si la cantidad de acciones a ejecutar se acumula demasiado, seria bastante molesto andar conectandose y desconectandose via Telnet. Ademas es muy engorroso programar con Telnet porque hay que manejar el texto de la consola como respuesta de que si salio o no.

- Crear un socket en el cliente (pc local) y un socket del lado del servidor. Cada vez que se necesita ejecutar algo, la pc local le pasa la orden al socket local y este a su vez se lo pasa al servidor. Esta me parece la solucion mas prolija, pero me procupa toparme con problemas de firewall, puertos u otras cuestiones de seguirdad informatica fuera de mi alcance.

Por si las dudas aclaro que uso Java para todo.

Gracias
Saludos!

El Benjo

La segunda opción me parece la más apropiada. De esta manera puedes crear tu propio protocolo de comunicación de acuerdo a tus necesidades.
www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.

engel lex

con telnet es una locura... y si te vas a encontrar problemas con los firewall y demás con los scoket, espera el doble con telnet (adivina cual fue el medio de hackeo por muchos años y se asume peligroso)

recuerda que el servidor debe tener configurao el port forwarding en el router y el firewall abierto en esee puerto, recuerda cuales son los puertos usables por el cliente para la conexión y no uses el mismo que el servidor
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Xedrox

Hola, gracias por las respuestas. Esto es muy simple o me parece?

http://stackoverflow.com/questions/3763511/sending-telnet-commands-and-reading-the-response-with-java

Cuando entro a una sesion telnet con putty a mi servidor, aparece todo un texto de bienvenida y demas.. . Servira lo que dice el link anterior? Tengo miedo de probarlo y tirar el servicio :S

Gh057

hola Xedrox , por favor no uses telnet, recuerda que va todo en plano... en menos de lo que cante un gallo tienes todo el servidor comprometido XD
(si llegaras a necesitar ese tipo de conexión en otra oportunidad, usa secure shell, ssh.)
como bien te indicaron, lo mejor es la segunda opción. saludos
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

Xedrox

Lastima que no tengo ssh habiltado en el equipo :( . Probare creando un socket remoto y local.