Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 5 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Nov 10, 2010 3:44 pm
Mensajes: 13

Nota Publicado: Vie Dic 03, 2010 11:02 am 
Arriba  
hola, me gustaria hacer un programa en el que un servidor atiende a 3 clientes(atencion por semaforos), cuand atiende a un cliente, el servidor le pide una serie de numeros y el cliente se los da o por teclado o por medio de un archivo, lueg el servidor los coloca por orden y le devuelve al cliente un fichero con los numeros colocados, hora y el tiempo que tardo en hacerlo.luego puede seguir con este cliente o atender a otro para hacer la misma operacion.

nunca he programado este tipo de cosas, cualquier idea o ejemplillo que me puedan dar para ir empezando, seria de gran ayuda.
muchas gracias

 Perfil Email  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Vie Dic 03, 2010 2:52 pm 
Arriba  
Pues para empezar, puedes indicar el lenguaje... :?

En cuanto al planteamiento, no lo acabo de ver bien. Lo que se suele hacer es que en el lado del servidor tienes un dispatcher (despachador, o algo así) y el propio "programa" servidor. El dispatcher es el que va a estar escuchando peticiones de los clientes, y les va a conectar con el servicio en sí. El servicio típicamente estará implementado por hilos.
Básicamente lo que se hace en el servidor es que el dispatcher escucha una petición, crea el hilo servidor correspondiente, lo "conecta" con el cliente y vuelve a quedar a la espera de peticiones. Es el hilo servidor el que proporciona el servicio al cliente.
De esta forma puedes dar servicio a varios clientes al mismo tiempo sin necesidad de ningún tipo de sincronización (al menos en principio, porque dependerá del servicio en sí)

La otra opción más sencilla de implementar, aunque menos eficiente, es que sea el propio dispatcher el que proporcione el servicio. El problema es que sólo vas a atender a un cliente a la vez, aunque no necesitas trabajar con hilos. Puede ser útil si el tiempo que se tarda en proporcionar el servicio es ínfimo (proporcionar la hora, el nombre del programa que se está ejecutándo, etc)

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Nov 10, 2010 3:44 pm
Mensajes: 13

Nota Publicado: Vie Dic 03, 2010 4:59 pm 
Arriba  
la programacion es en c.
lo que quiero es atender a los clientes usando semaforos, pero no se como he de hacerlo.
atiendo a un cliente, me pasa la serie de numeros, se los ordena y se los devuelve en un archivo ordenados, indicando la hora y el tiempo que tardo en hacerlo.
muvhas gracias

 Perfil Email  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Dom Dic 05, 2010 4:57 am 
Arriba  
Pues creo que puedes empezar por leer esta página, que está todo bastante bien explicado:
http://www.chuidiang.com/clinux/sockets/sockets_simp.php

Creo que hay algunas cosas que no son estrictamente necesarias como el getHostByName. De todas formas, si tienes algún problema postea el código.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Nov 10, 2010 3:44 pm
Mensajes: 13

Nota Publicado: Vie Dic 10, 2010 12:49 pm 
Arriba  
gracias , estoy mirandolo y intentado cosas
cuand sepa algo mas t lo digo gracias

 Perfil Email  
Mostrar mensajes previos:  Ordenar por  
 [ 5 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO