Linux - Problemas con C

 
Vista:

Problemas con C

Publicado por Victor (1 intervención) el 01/11/2001 17:11:52
Ante todo un saludo a todo el que lea este mensaje el cual escribo porue se me ha presentado un problema en C bajo Linux el cual explico a continuación: Un grupo de amigos y yo estamos realizando un programa, el cual consiste en simular la reparticion de recursos en un sistema cliente servidor, utilizando C y Linux Mandrake 8. Estamos utilizando un servidor y 5 clientes. El programa funciona de la siguiente manera, ejecutamos el programa que se encuentra en el servidor, el cual determina cuantos clientes hay conectados y se queda en un estado de pausa en espera de una petición por parte de los clientes, luego ejecutamos los programas de cada uno de los clientes, luego, en un momento dado y de manera aleatoria, cada cliente comienza en pedir recursos, los cuales son suplidos de acuerdo a la cantidad de recursos disponibles en el servidor y a la prioridad de cada cliente. Es decir, cuando el servidor detecta una petición de recursos, este primero determina de cual cliente es y que recurso(s) está solicitando, luego verifica que para el recurso solicitado no haya una petición anterior de otro cliente para despues determinar si hay la cantidad suficiente del recurso solicitado, de ser así, asigna el recurso, de lo contrario, le envia un mensaje al cliente para que este espere o para informarle de que no puede asignarsele el recurso especificado. Luego de pasar más de un trasnocho por problemas en la conexión (errores con los socket, etc..) y pasar más de una rabieta logramos por fin que el programa funcionara a la perfección. Luego cuando llego elp problema de tansportarlo a computadoras diferentes, es que empezo nuestro gran problema. La situación fue la siguiente, ejecutamos el programa servidor en un sistema que cuenta con un servidor y 2 clientes, nuestro programa detecto los dos clientes que hay, pero cuando ejecutamos los programas clientes, el sistema se aborta, y no sabemos que tipo de error es o si esta en el servidor o en los clientes. Ya a estas alturas nos encontramos un poco embrutecidos por tanto dolor de cabeza que hemos pasado y ya no se nos ocurre más nada, le agradecería a alguien que nos pueda ayudar. Chao.
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
Imágen de perfil de Alejandro

Problemas de ejecución en programa cliente-servidor

Publicado por Alejandro (176 intervenciones) el 21/12/2023 17:11:54
1. Depuración de errores: Utiliza herramientas de depuración como `gdb` para analizar el código en busca de posibles errores que puedan causar la terminación abrupta del programa.

2. Registro de eventos: Implementa registros de eventos en tu código para identificar el punto exacto donde se produce la falla. Puedes usar funciones de impresión o registros en archivos.

3. Compatibilidad de versiones: Verifica la compatibilidad de versiones de C y bibliotecas entre el sistema donde desarrollaste el programa y el sistema de destino. Actualiza las versiones si es necesario.

4. Manejo de sockets: Asegúrate de que el manejo de sockets sea consistente y compatible entre el servidor y los clientes. Revisa la lógica de conexión y comunicación.

5. Seguridad y permisos: Verifica los permisos de ejecución y acceso en los sistemas de destino. Asegúrate de que el programa tenga los permisos adecuados para acceder a recursos y realizar operaciones de red.

6. Logs del sistema: Revisa los logs del sistema (`/var/log/syslog`, `/var/log/messages`) para obtener información adicional sobre posibles errores o conflictos.

7. Firewalls y seguridad de red: Asegúrate de que los firewalls permitan la comunicación entre el servidor y los clientes. Considera desactivar temporalmente firewalls para probar la conectividad.

8. Resolución de nombres: Si estás usando nombres de host, asegúrate de que la resolución de nombres funcione correctamente en el sistema de destino. Considera usar direcciones IP en lugar de nombres de host para descartar problemas de resolución.

9. Variables de entorno: Verifica que las variables de entorno necesarias estén configuradas correctamente en los sistemas de destino.

10. Versiones de Linux: Ten en cuenta que Mandrake 8 es bastante antiguo. Considera probar tu programa en sistemas más modernos y actualizados.

Realiza pruebas paso a paso, identificando y corrigiendo posibles problemas en cada etapa. ¡Buena suerte, Víctor!
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