 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
CompuRecurses Cdt

Registrado: 15 Ago 2003Mensajes: 2
|
Publicado: Vie 15 Ago, 2003 10:41 pm Asunto: Aplicacion Cliente/Servidor |
|
|
Bueno es la primera vez que entro a este sitio y me parece muy bueno.
Dejendome de tanto rollo, mi pregunta es la siguiente.
Sockets en C++ Builder. He diseñado una aplicacion en la cual me comunico atravez de sockets es como un chat, mi duda es como saber el numero de socket de un determinado usuario cuando este se desconecta.
ya lo hice utilizando un timer y testiando cada uno de mis usuarios, pero eso hace lenta mi aplicaion cuando se trata de muchos usuarios.
necesito informacion del TClientSocket, TServerSocket.
Libros, Direcciones, etc. Estoy trabajando con C++ Builder 6.
Gracias, espero y me puedan ayudar. |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Sab 16 Ago, 2003 2:12 pm Asunto: |
|
|
Yo no he utilizado muchos los sockets de windows, pero si que he programado un chat con sockets en Linux. Lo que puedes hacer es simpre que se cierre un cliente, antes de cerrarlo definitvamente envie un mensaje de cierre al servidor, entonces sabe que este sockets se puede cerrar. Recuerdo que en el cliente capturamos algunas señales de matar aplicaciones para que también enviara este mensaje, así que puedes poner que envie el mensaje de cierre tanto en un boton que ponga cerrar o salir o por ejemplo en el metodo OnClose del formulario que utilizes para el chat del cliente.
Ciao. |
|
| Volver arriba |
|
 |
CompuRecurses Cdt

Registrado: 15 Ago 2003Mensajes: 2
|
Publicado: Sab 16 Ago, 2003 6:43 pm Asunto: Aplicaion Cliente/Servidor |
|
|
Gracias por tu respuesta.
Pero que pasa cuando por alguna circunstancia se llega a ir la luz, apagamos el servidor, y no cerramos nuestro form. Ahi ya no me sirve esa solucion necesito saberlo del lado del servidor claro sin ciclos timer etc. No se si se pueda saber si alguien se desconecta de forma automatica la desconeccion de ese socket, no importa si es en linux la respuesta.. Graciaaaass. por tu respuesta desde Acapulco, México. |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Dom 17 Ago, 2003 12:39 am Asunto: |
|
|
Imagino (aunque no estoy totalmente seguro) de que no hay forma de que te avise en el socket del servidor si se ha terminado la conexión con el cliente, la unica forma sería que cada X tiempo se escriba algo en el socket para ver si aun hay comunicacion y si no pues lo cierras).
Vamos el chat que yo hize en linux lo hize con Threads, cuando ejecutabas el programa servidor había un Thread principal escuchando por un socket, en el momento que se conectaba un cliente se creaba un thread que se hacía cargo de ese socket y el hilo principal volvia dejar un nuevo socket a la espera de aceptar conexiones. Luego en cada hilo que trataba un socket, pues puedes hacer el tratamiento que tu quieras.
Por ejemplo podrías hacer que cada x tiempo los clientes manden un mensaje como diciendo "eh que estoy conectado", entonces en cada hilo del server pues si no recibes ese mensaje cada X tiempo acordado pues cierras la comunicacion de ese socket y matas a ese thread. En fin todo esto es muy relativo, ya te digo que apenas he tocado los sockets en Builder, simplemente para probar un poco.
Ciao y suerte. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|