SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: yomismoyo en Martes 26 de Diciembre de 2006, 20:47

Título: Creacion De Un Chat En C En Linux
Publicado por: yomismoyo en Martes 26 de Diciembre de 2006, 20:47
Wenas estoy haciendo un chat que me esta rebentando la cabeza, es con un cliente y servidor y he de usar, algun medio de comunicacion entre ambos como colas de mensajes o fifos o algo asi, y he conseguido crear el servidor, el cliente, y arranco el servidor y "x" clientes y cuando estos escriben le llega al servidor poniendo lo que el cliente ha escrito, pero no le llega a el resto de los clientes con lo cual no es eficiente, que puedo hacer :S?? muchas gracias, ay os dejo el codigo para que le echeis un vistazo haber si me podeis ayudar, si alguien me lo adjunta los reyes le echaran unos regalos fantasticos ;)  Feliz navidad
Título: Re: Creacion De Un Chat En C En Linux
Publicado por: su - en Martes 26 de Diciembre de 2006, 22:42
Lo que pasa es que en Socket se trabaja cada conexion por separado, es decir, se usa "un servidor para cada cliente", en cristiano seria: El servidor que has hecho es individula, puede tener X usuarios conectados al mismo tiempo pero el servidor solo trabaja con uno.

Ademas, deberias usar .zip, realmente tar + gzip pues estas hablando de *Linux asi que...
Título: Re: Creacion De Un Chat En C En Linux
Publicado por: yomismoyo en Martes 26 de Diciembre de 2006, 23:57
Si, es que el chat lo estoy haciendo en linux, por si no lo habia dicho, y sigo con la misma duda que antes, eso que me has dicho lo he mirado y es verdad, pero ya no se arreglarlo, como podria hacer para que fuera para todos???
Título: Re: Creacion De Un Chat En C En Linux
Publicado por: su - en Miércoles 27 de Diciembre de 2006, 03:40
Esto depronto te puede servir:
http://linuxgazette.net/issue33/nelson.html (http://linuxgazette.net/issue33/nelson.html)

Si no estoy mal tenes que hacer un while y un bucle guardando un tipo de filehandle (con select o fflush creo, no se) a cada conexion de usuario y meterlo en un array para imprimir por cada usuario.

http://www.unix.com/showthread.php?t=22485 (http://www.unix.com/showthread.php?t=22485)

Mas y mas links

http://www.codeguru.com/forum/showthread.php?t=178709 (http://www.codeguru.com/forum/showthread.php?t=178709)
http://www.amk.ca/python/howto/sockets/sockets.html (http://www.amk.ca/python/howto/sockets/sockets.html)
http://librenix.com/?page=Socket (http://librenix.com/?page=Socket)

Con threads:

http://users.actcom.co.il/~choo/lupg/tutor...d-pool-server.c (http://users.actcom.co.il/~choo/lupg/tutorials/multi-thread/thread-pool-server.c)

Links muy utiles:

http://www.google.com (http://www.google.com)
http://www.lycos.com (http://www.lycos.com)
http://www.yahoo.com (http://www.yahoo.com)

 :smartass: