Java - Manejo de sockets

 
Vista:

Manejo de sockets

Publicado por Alex (5 intervenciones) el 02/08/2005 12:11:28
Hola, tengo una aplicacion cliente servidor, y quiero que el servidor navegue por la red de clientes buscando un archivo por ejemplo, como podria hacer que mirase todos los clientes que tengo conectados y que se mueva por ellos???.Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Manejo de sockets

Publicado por J Hilario (54 intervenciones) el 02/08/2005 19:34:49
Algo que que puedes hacer es establecer un hilo adicional a tus clientes que funcione como servidor. Esto es, al ejecutar tus clientes, levantas adicionalmente un hilo que procese peticiones de entrada. En el servidor principal me imagino que tienes registradas las direcciones IP de tus clientes y con ella puedes invocar el servicio que cada uno de ellos te estará ofreciendo con el hilo adicional. Esto es, ambos procesos funcionarían como cliente y servidor para diferenetes propósitos. =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejo de sockets

Publicado por Alex (5 intervenciones) el 03/08/2005 09:14:42
Muchas Gracias, pero una cosa mas, registro las ips que se conectan al servidor como bien dices y con estas mediante la pulsacion de un boton podria navergar por mis clientes para buscar una cosa?. Me entiendes?, como se haria,donde podria obtener algo de ayuda de codigo?cuando hablas de hilos hablas de socketes verdad?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejo de sockets

Publicado por J Hilario (54 intervenciones) el 03/08/2005 18:04:27
Cuando hablo de hilos no hablo de sockets. Una aplicación comun de comunicación con sockets es un chat por ejemplo, donde los clientes se conectan a un servidor, este registra la ip del cliente en un vector (o esctructura de almacenamiento) y asi para cada cliente. O sea cuando te llega una solicitud de un cliente a tu servidor no la procesas en el programa principal, sino que el socket que te llega lo mandas a otra funcion desde el programa principal, pero esa otra funcion es un hilo, algo asi como un 'subprograma' alterno que se ejecuta en 'paralelo' a la parte del servidor que se quedo esperando respuestas. Esto te va aa generar tantos hilos como clientes soliciten el servidor y el servidor no se va a bloquear con un cliente porque le deja el trabajo a los hilos. Los hilos en java se pueden manipular con a clase Thread del paquete java.lang o la interfaz Runnable, puedes buscar ayuda acerca de esas clases.
Hasta aqui espero no haberte confufido mucho más =(
Tus clientes necesitarían también trabajar con un hilo servidor para que puedan aceptar peticiones del servidor principal y otro hilo para trabajar como clientes en sí.
A nivel de sockets estás hablando de un nivel bajo de comunicación directamente con el protocolo TCP, hay muchas otras alternativas de más alto nivel, más fáciles pero requieren el uso de servicios que ya vienen con tu jdk, algunas de ellas son CORBA, RMI (100% java y má fácil que CORBA si trabajas solo Java) y Web Services (se supone que estos son de lo mejor, multiplataforma, basados en http y utilizando XML). Bueno, en el entorno de los sistemas distribuidos hay mucha información, sería bueno que pusieras en balance sobre que dispositivos necesitas trabajar, que cantidad de datos, la complejidad de los mismos y de las funciones e incluso cuestiones de seguridad, pues algunas alternativas son más baratas que otras en rendimiento, en velocidad, en seguridad, en complejidad, cosmopolitismo, etc, =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejo de sockets

Publicado por Alex (24 intervenciones) el 03/08/2005 19:23:40
Entonces me recomiendas que haga todo con java??
Es lo que estoy haciendo pero de momento tengo solo los sockets.
Todo lo de threads lo ves factible con java?.
Lo unico que quiero es que cuando se apague el ordenador del cliente se conecte a mi antes y me mande los archivos que ha actualizado de una carpeta compartida.
Como ves el tema?
Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejo de sockets

Publicado por J Hilario (54 intervenciones) el 05/08/2005 18:51:02
Lo de Threads si es muy factible con Java y hay varia información en Internet. En eso de que se inicie la aplicación si no tengo mucha idea de como hacerlo, puede ser desde registrando la aplicación en el menú de inicio de Windows o investigar como se registran los servicios...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar